openapi: 3.0.1 info: title: NeoFinance PSD2 API version: v1 description: "# Summary\nThe **NextGenPSD2** *Framework offers a modern, open, harmonised and interoperable set of \nApplication Programming Interfaces (APIs) as the safest and most efficient way to provide data securely. \nThe NextGenPSD2 Framework reduces XS2A complexity and costs, addresses the problem of multiple competing standards \nin Europe and, aligned with the goals of the Euro Retail Payments Board,\nenables European banking customers to benefit from innovative products and services ('Banking as a Service') \nby granting TPPs safe and secure (authenticated and authorised) access to their bank accounts and financial data.\n\nThe possible Approaches are:\n * Redirect SCA Approach\n\n **Please have a look at the implementation guidelines if you are not sure \n which message has to be used for the approach you are going to use.**\n\n## Some General Remarks Related to this version of the OpenAPI Specification:\n* **This API definition is based on the Implementation Guidelines of the Berlin Group PSD2 API.** \n It is not an replacement in any sense.\n The main specification is (at the moment) always the Implementation Guidelines of the Berlin Group PSD2 API.\n* **This API definition contains the REST-API for requests from the PISP to the ASPSP.**\n\n \n* **We omit the definition of all standard HTTP header elements (mandatory/optional/conditional) \n except they are mention in the Implementation Guidelines.**\n Therefore the implementer might add the in his own realisation of a PSD2 comlient API in addition to the elements define in this file.\n \n## General Remarks on Data Types\n\nThe Berlin Group definition of UTF-8 strings in context of the PSD2 API have to support at least the following characters\n\na 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\n\nA 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\n\n0 1 2 3 4 5 6 7 8 9\n\n/ - ? : ( ) . , ' +\n\nSpace" servers: - url: https://psd2.ob-api.neofinance.com - api server - url: https://ob-api.neofinance.com - authorisation server only for getting auth code paths: '/oauth/v2/auth': get: summary: This one must be given to client to get authorisation code (use authorisation server) tags: - Authorisation parameters: - $ref: '#/components/parameters/responseType' - $ref: '#/components/parameters/clientPublic' - $ref: '#/components/parameters/scope' - $ref: '#/components/parameters/redirectUri' responses: '200': $ref: '#/components/responses/CREATED_200_AuthCode' '/oauth/v2/token': post: summary: Having authorisation code returns accessToken (use api server) tags: - Authorisation parameters: - $ref: '#/components/parameters/grantType' - $ref: '#/components/parameters/authCode' - $ref: '#/components/parameters/clientPublic' - $ref: '#/components/parameters/clientSecret' - $ref: '#/components/parameters/redirectUri' - $ref: '#/components/parameters/scope' responses: '200': $ref: '#/components/responses/CREATED_200_AccessToken' '/api/v1/{payment-service}/{payment-product}': post: summary: Payment initiation request description: > 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: - ***sepa-credit-transfers*** Furthermore the request body depends on the **payment-service** * ***payments***: A single payment initiation request. In case of a *JSON* there are several JSON payment blocks contained in a joining list. ## Single and mulitilevel SCA Processes The Payment Initiation Requests are independent from the need of one ore 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. operationId: initiatePayment tags: - Payment Initiation Service (PIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/paymentService' - $ref: '#/components/parameters/paymentProduct' - $ref: '#/components/parameters/X-Request-ID' requestBody: $ref: '#/components/requestBodies/paymentInitiation' responses: '201': $ref: '#/components/responses/CREATED_201_PaymentInitiation' '400': $ref: '#/components/responses/BAD_REQUEST_400_PIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_PIS' '403': $ref: '#/components/responses/FORBIDDEN_403_PIS' '404': $ref: '#/components/responses/NOT_FOUND_404_PIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS' '/api/v1/{payment-service}/{payment-product}/{paymentId}': get: summary: Get Payment Information description: Returns the content of a payment object operationId: getPaymentInformation tags: - Payment Initiation Service (PIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/paymentService' - $ref: '#/components/parameters/paymentProduct' - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' responses: '200': $ref: '#/components/responses/OK_200_PaymentInitiationInformation' '400': $ref: '#/components/responses/BAD_REQUEST_400_PIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_PIS' '403': $ref: '#/components/responses/FORBIDDEN_403_PIS' '404': $ref: '#/components/responses/NOT_FOUND_404_PIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS' '/api/v1/{payment-service}/{payment-product}/{paymentId}/status': get: summary: Payment initiation status request description: Check the transaction status of a payment initiation. operationId: getPaymentInitiationStatus tags: - Payment Initiation Service (PIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/paymentService' - $ref: '#/components/parameters/paymentProduct' - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' responses: '200': $ref: '#/components/responses/OK_200_PaymentInitiationStatus' '400': $ref: '#/components/responses/BAD_REQUEST_400_PIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_PIS' '403': $ref: '#/components/responses/FORBIDDEN_403_PIS' '404': $ref: '#/components/responses/NOT_FOUND_404_PIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS' '/api/v1/{payment-service}/{payment-product}/{paymentId}/authorisations': post: summary: Start the authorisation process for a payment initiation description: > 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 an 'startAuthorisation' hyperlink in the preceeding 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' #TODO * '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 preceeding 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. operationId: startPaymentAuthorisation tags: - Payment Initiation Service (PIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/paymentService' - $ref: '#/components/parameters/paymentProduct' - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' responses: '201': $ref: '#/components/responses/CREATED_201_StartScaProcess' '400': $ref: '#/components/responses/BAD_REQUEST_400_PIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_PIS' '403': $ref: '#/components/responses/FORBIDDEN_403_PIS' '404': $ref: '#/components/responses/NOT_FOUND_404_PIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS' get: summary: Get Payment Initiation Authorisation Sub-Resources Request description: > 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. operationId: getPaymentInitiationAuthorisation tags: - Payment Initiation Service (PIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/paymentService' - $ref: '#/components/parameters/paymentProduct' - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' responses: '200': $ref: '#/components/responses/OK_200_Authorisations' '400': $ref: '#/components/responses/BAD_REQUEST_400_PIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_PIS' '403': $ref: '#/components/responses/FORBIDDEN_403_PIS' '404': $ref: '#/components/responses/NOT_FOUND_404_PIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS' '/api/v1/{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId}': get: summary: Read the SCA Status of the payment authorisation description: > This method returns the SCA status of a payment initiation's authorisation sub-resource. operationId: getPaymentInitiationScaStatus tags: - Payment Initiation Service (PIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/paymentService' - $ref: '#/components/parameters/paymentProduct' - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' responses: '200': $ref: '#/components/responses/OK_200_ScaStatus' '400': $ref: '#/components/responses/BAD_REQUEST_400_PIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_PIS' '403': $ref: '#/components/responses/FORBIDDEN_403_PIS' '404': $ref: '#/components/responses/NOT_FOUND_404_PIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS' '/api/v1/accounts': get: summary: Read Account List description: > 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. operationId: getAccountList tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/withBalanceQuery' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/consentId_HEADER_mandatory' responses: '200': $ref: '#/components/responses/OK_200_AccountList' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' '/api/v1/list/accounts': get: summary: Read Account List description: > Read account list. tags: - Accounts List (accounts.list) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/X-Request-ID' responses: '200': $ref: '#/components/responses/OK_200_AccountListWithoutConsent' '/api/v1/accounts/{account-id}': get: summary: Read Account Details description: > 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. operationId: readAccountDetails tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/withBalanceQuery' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/consentId_HEADER_mandatory' responses: '200': $ref: '#/components/responses/OK_200_AccountDetails' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' '/api/v1/accounts/{account-id}/balances': get: summary: Read Balance description: > Reads account data from a given account addressed by "account-id". **Remark:** This account-id then can be retrieved by the "GET Account List" call. The account-id is constant. operationId: getBalances tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/consentId_HEADER_mandatory' responses: '200': $ref: '#/components/responses/OK_200_Balances' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' '/api/v1/accounts/{account-id}/transactions/': get: summary: Read transaction list of an account description: > 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. operationId: getTransactionList tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/dateFrom' - $ref: '#/components/parameters/dateTo' - $ref: '#/components/parameters/bookingStatus' - $ref: '#/components/parameters/withBalanceQuery' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/consentId_HEADER_mandatory' responses: '200': $ref: '#/components/responses/OK_200_AccountsTransactions' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' '/api/v1/accounts/{account-id}/transactions/{resourceId}': get: summary: Read Transaction Details description: > Reads transaction details from a given transaction addressed by "resourceId" on a given account addressed by "account-id". This call is only available on transactions as reported in a JSON format. operationId: getTransactionDetails tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/consentId_HEADER_mandatory' responses: '200': $ref: '#/components/responses/OK_200_TransactionDetails' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' '/api/v1/consents': post: summary: Create consent description: > 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. operationId: createConsent tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/X-Request-ID' requestBody: $ref: '#/components/requestBodies/consents' responses: '201': $ref: '#/components/responses/CREATED_201_Consents' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' '/api/v1/consents/{consentId}': get: summary: Get Consent Request description: > 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 re-direct SCA Approach. operationId: getConsentInformation tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/consentId_PATH' - $ref: '#/components/parameters/X-Request-ID' responses: '200': $ref: '#/components/responses/OK_200_ConsentInformation' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' delete: summary: Delete Consent description: The TPP can delete an account information consent object if needed. operationId: deleteConsent tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/consentId_PATH' - $ref: '#/components/parameters/X-Request-ID' responses: '204': $ref: '#/components/responses/NO_CONTENT_204_Consents' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' '/api/v1/consents/{consentId}/status': get: summary: Consent status request description: Read the status of an account information consent resource. operationId: getConsentStatus tags: - Account Information Service (AIS) security: - {} - BearerAuthOAuth: [] parameters: - $ref: '#/components/parameters/consentId_PATH' - $ref: '#/components/parameters/X-Request-ID' responses: '200': $ref: '#/components/responses/OK_200_ConsentStatus' '400': $ref: '#/components/responses/BAD_REQUEST_400_AIS' '401': $ref: '#/components/responses/UNAUTHORIZED_401_AIS' '403': $ref: '#/components/responses/FORBIDDEN_403_AIS' '404': $ref: '#/components/responses/NOT_FOUND_404_AIS' '405': $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS' '406': $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS' '408': $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS' '415': $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS' '429': $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS' '500': $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS' '503': $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS' components: securitySchemes: BearerAuthOAuth: description: > Bearer Token. Is contained only, if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding AIS service in the same session. type: http scheme: bearer schemas: paymentId: description: Resource identification of the generated payment initiation resource. type: string example: 1234-wertiq-983 paymentIdList: description: A list of paymentIds type: array minItems: 1 items: $ref: '#/components/schemas/paymentId' basketId: description: Resource identification of the generated signing basket resource. type: string example: 1234-basket-567 authorisationId: description: Resource identification of the related SCA type: string example: 123auth456 authenticationMethodId: description: > An identification provided by the ASPSP for the later identification of the authentication method selection. type: string maxLength: 35 example: myAuthenticationID accountId: description: >- This identification is denoting the addressed account, where the transaction has been performed. type: string example: qwer3456tzui7890 consentId: description: > ID of the corresponding consent object as returned by an Account Information Consent Request. type: string consentIdList: description: A list of consentIds type: array minItems: 1 items: $ref: '#/components/schemas/consentId' resourceId: description: > This identification is given by the attribute resourceId of the corresponding entry of a transaction list. type: string example: 3dc3d5b3-7023-4848-9853-f5400a64e80f cancellationId: description: Identification for cancellation resource type: string example: 123auth456 cardTransactionId: description: Unique end to end identity. type: string maxLength: 35 terminalId: description: 'Identification of the Terminal, where the card has been used.' type: string maxLength: 35 entryReference: description: > Is the identification of the transaction as used e.g. for reference for deltafunction on application level. type: string maxLength: 35 transactionStatus: description: | The transaction status is filled with codes of the ISO 20022 data table: - 'ACCC': 'AcceptedSettlementCompleted' - Settlement on the creditor's account has been completed. - 'ACCP': 'AcceptedCustomerProfile' - Preceding check of technical validation was successful. Customer profile check was also successful. - 'ACSC': 'AcceptedSettlementCompleted' - Settlement on the debtor�s account has been completed. **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. **Warning:** this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement. - 'ACSP': 'AcceptedSettlementInProcess' - All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution. - 'ACTC': 'AcceptedTechnicalValidation' - Authentication and syntactical and semantical validation are successful. - 'ACWC': 'AcceptedWithChange' - Instruction is accepted but a change will be made, such as date or remittance not sent. - 'ACWP': 'AcceptedWithoutPosting' - Payment instruction included in the credit transfer is accepted without being posted to the creditor customer�s account. - 'RCVD': 'Received' - Payment initiation has been received by the receiving agent. - 'PDNG': 'Pending' - Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed. - 'RJCT': 'Rejected' - Payment initiation or individual transaction included in the payment initiation has been rejected. - 'CANC': 'Cancelled' Payment initiation has been cancelled before execution Remark: This code is still requested from ISO20022. - 'ACFC': 'AcceptedFundsChecked' - Preceeding check of technical validation and customer profile was successful and an automatic funds check was positive . Remark: This code is still requested from ISO20022. - 'PATC': 'PartiallyAcceptedTechnical' Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful. Remark: This code is still requested from ISO20022. type: string enum: - ACCC - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC - ACFC - PATC example: ACCP transactionStatus_SB: description: | The transaction status is filled with codes of the ISO 20022 data table. Only the codes RCVD, PATC, ACTC, ACWC and RJCT are used: - 'ACSP': 'AcceptedSettlementInProcess' - All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution. - 'ACTC': 'AcceptedTechnicalValidation' - Authentication and syntactical and semantical validation are successful. - 'ACWC': 'AcceptedWithChange' - Instruction is accepted but a change will be made, such as date or remittance not sent. - 'RCVD': 'Received' - Payment initiation has been received by the receiving agent. - 'RJCT': 'Rejected' - Payment initiation or individual transaction included in the payment initiation has been rejected. type: string enum: - ACSC - ACTC - ACWC - RCVD - RJCT example: RCVD scaStatus: description: > This data element is containing information about the status of the SCA method applied. The following codes are defined for this data type. * 'received': An authorisation or cancellation-authorisation resource has been created successfully. * 'psuIdentified': The PSU related to the authorisation or cancellation-authorisation resource has been identified. * 'psuAuthenticated': The PSU related to the authorisation or cancellation-authorisation resource has been identified and authenticated e.g. by a password or by an access token. * 'scaMethodSelected': The PSU/TPP has selected the related SCA routine. If the SCA method is chosen implicitly since only one SCA method is available, then this is the first status to be reported instead of 'received'. * 'started': The addressed SCA routine has been started. * 'finalised': The SCA routine has been finalised successfully. * 'failed': The SCA routine failed * 'exempted': SCA was exempted for the related transaction, the related authorisation is successful. type: string enum: - received - psuIdentified - psuAuthenticated - scaMethodSelected - started - finalised - failed - exempted example: psuAuthenticated scaAuthenticationData: description: | SCA authentication data, depending on the chosen authentication method. If the data is binary, then it is base64 encoded. type: string consentStatus: description: > This is the overall lifecycle status of the consent. Valid values are: - 'received': The consent data have been received and are technically correct. The data is not authorised yet. - 'rejected': The consent data have been rejected e.g. since no successful authorisation has taken place. - 'valid': The consent is accepted and valid for GET account data calls and others as specified in the consent object. - 'revokedByPsu': The consent has been revoked by the PSU towards the ASPSP. - 'expired': The consent expired. - 'terminatedByTpp': The corresponding TPP has terminated the consent by applying the DELETE method to the consent resource. The ASPSP might add further codes. These codes then shall be contained in the ASPSP's documentation of the XS2A interface and has to be added to this API definition as well. type: string enum: - received - rejected - valid - revokedByPsu - expired - terminatedByTpp transactionFeeIndicator: description: > If equals 'true', the transaction will involve specific transaction cost as shown by the ASPSP in their public price list or as agreed between ASPSP and PSU. If equals 'false', the transaction will not involve additional specific transaction costs to the PSU. type: boolean recurringIndicator: description: | "true", if the consent is for recurring access to the account data. "false", if the consent is for one access to the account data. type: boolean example: false combinedServiceIndicator: description: > If "true" indicates that a payment initiation service will be addressed in the same "session". type: boolean example: false batchBookingPreferred: description: > If this element equals 'true', the PSU prefers only one booking entry. If this element equals 'false', the PSU prefers individual booking of all contained individual transactions. The ASPSP will follow this preference according to contracts agreed on with the PSU. type: boolean example: false scaMethods: description: > This data element might be contained, if SCA is required and if the PSU has a choice between different authentication methods. Depending on the risk management of the ASPSP this choice might be offered before or after the PSU has been identified with the first relevant factor, or if an access token is transported. If this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection' contained in the response body. These methods shall be presented towards the PSU for selection by the TPP. type: array items: $ref: '#/components/schemas/authenticationObject' chosenScaMethod: $ref: '#/components/schemas/authenticationObject' authenticationType: description: > Type of the authentication method. More authentication types might be added during implementation projects and documented in the ASPSP documentation. - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel. - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. an TOP derived from an EMV cryptogram. To contact the card, the PSU normally needs a (handheld) device. With this device, the PSU either reads the challenging data through a visual interface like flickering or the PSU types in the challenge through the device key pad. The device then derives an OTP from the challenge data and displays the OTP to the PSU. - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data which can be read in by a consumer device or specific mobile app. The device resp. the specific app than derives an OTP from the visual challenge data and displays the OTP to the PSU. - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU. type: string enum: - SMS_OTP - CHIP_OTP - PHOTO_OTP - PUSH_OTP authenticationObject: description: | Authentication Object type: object required: - authenticationType - authenticationMethodId properties: authenticationType: $ref: '#/components/schemas/authenticationType' authenticationVersion: description: > Depending on the "authenticationType". This version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type. This version can be referred to in the ASPSP?s documentation. type: string authenticationMethodId: $ref: '#/components/schemas/authenticationMethodId' name: description: > This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP. Alternatively this could be a description provided by the ASPSP like "SMS OTP on phone +49160 xxxxx 28". This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available. type: string example: SMS OTP on phone +49160 xxxxx 28 explanation: description: | Detailed information about the SCA method for the PSU. type: string example: Detailed information about the SCA method for the PSU. signingBasket: description: | JSON Body of a establish signing basket request. The body shall contain at least one entry. type: object properties: paymentIds: $ref: '#/components/schemas/paymentIdList' consentIds: $ref: '#/components/schemas/consentIdList' challengeData: description: > 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. type: object properties: image: type: string format: byte description: | PNG data (max. 512 kilobyte) to be displayed to the PSU, Base64 encoding, cp. [RFC4648]. This attribute is used only, when PHOTO_OTP or CHIP_OTP is the selected SCA method. data: type: string description: String challenge data imageLink: type: string format: url description: >- A link where the ASPSP will provides the challenge image for the TPP. otpMaxLength: type: integer description: The maximal length for the OTP to be typed in by the PSU. otpFormat: type: string description: >- The format type of the OTP to be typed in. The admitted values are "characters" or "integer". enum: - characters - integer additionalInformation: type: string description: | Additional explanation for the PSU to explain e.g. fallback mechanism for the chosen SCA method. The TPP is obliged to show this to the PSU. hrefType: description: Link to a resource type: string example: /v1/payments/sepa-credit-transfers/1234-wertiq-983 authorisationsList: description: An array of all authorisationIds type: array items: $ref: '#/components/schemas/authorisationId' authorisations: description: An array of all authorisationIds type: object required: - authorisationIds properties: authorisationIds: $ref: '#/components/schemas/authorisationsList' accountReference: description: | Reference to an account by either * IBAN, of a payment accounts type: object properties: iban: $ref: '#/components/schemas/iban' bban: $ref: '#/components/schemas/bban' pan: $ref: '#/components/schemas/pan' maskedPan: $ref: '#/components/schemas/maskedPan' msisdn: $ref: '#/components/schemas/msisdn' currency: $ref: '#/components/schemas/currencyCode' balanceType: description: | The following balance types are defined: - "closingBooked": Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period. For card-accounts, this is composed of - invoiced, but not yet paid entries - "expected": Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted. For card accounts, this is composed of - invoiced, but not yet paid entries, - not yet invoiced but already booked entries and - pending items (not yet booked) - "authorised": The expected balance together with the value of a pre-approved credit line the ASPSP makes permanently available to the user. For card-accounts: "money to spend with the value of a pre-approved credit limit on the card account" - "openingBooked": Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report. - "interimAvailable": Available balance calculated in the course of the account ?servicer?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. For card-accounts, this is composed of - invoiced, but not yet paid entries, - not yet invoiced but already booked entries - "forwardAvailable": Forward available balance of money that is at the disposal of the account owner on the date specified. - "nonInvoiced": Only for card accounts, to be checked yet. type: string enum: - closingBooked - expected - authorised - openingBooked - interimAvailable - forwardAvailable - nonInvoiced accountAccess: description: | Requested access services for a consent. type: object properties: accounts: description: > Is asking for detailed account information. If the array is empty, the TPP is asking for an accessible account list. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for balances or transactions shall be empty, if used. type: array items: $ref: '#/components/schemas/accountReference' balances: description: > Is asking for balances of the addressed accounts. If the array is empty, the TPP is asking for the balances of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for accounts or transactions shall be empty, if used. type: array items: $ref: '#/components/schemas/accountReference' transactions: description: > Is asking for transactions of the addressed accounts. If the array is empty, the TPP is asking for the transactions of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for accounts or balances shall be empty, if used. type: array items: $ref: '#/components/schemas/accountReference' availableAccounts: description: > Optional if supported by API provider. Only the values "allAccounts" or "allAccountsWithBalances" is admitted. type: string enum: - allAccounts - allAccountsWithBalances allPsd2: description: | Optional if supported by API provider. Only the value "allAccounts" is admitted. type: string enum: - allAccounts cashAccountType: description: | ExternalCashAccountType1Code from ISO 20022. type: string accountStatus: description: > Account status. The value is one of the following: - "enabled": account is available - "deleted": account is terminated - "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification. type: string enum: - enabled - deleted - blocked accountDetails: description: > The ASPSP shall give at least one of the account reference identifiers: - iban - bban - pan - maskedPan - msisdn If the account is a multicurrency account currency code in "currency" is set to "XXX". type: object required: - currency properties: resourceId: description: >- This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint. type: string iban: $ref: '#/components/schemas/iban' bban: $ref: '#/components/schemas/bban' msisdn: $ref: '#/components/schemas/msisdn' currency: $ref: '#/components/schemas/currencyCode' name: description: Name of the account given by the bank or the PSU in online-banking. type: string maxLength: 35 product: description: 'Product name of the bank for this account, proprietary definition.' type: string maxLength: 35 cashAccountType: $ref: '#/components/schemas/cashAccountType' status: $ref: '#/components/schemas/accountStatus' bic: $ref: '#/components/schemas/bicfi' linkedAccounts: description: >- Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on. type: string maxLength: 70 usage: description: | Specifies the usage of the account * PRIV: private personal account * ORGA: professional account type: string maxLength: 4 enum: - PRIV - ORGA details: description: | Specifications that might be provided by the ASPSP - characteristics of the account - characteristics of the relevant card type: string maxLength: 140 balances: $ref: '#/components/schemas/balanceList' _links: $ref: '#/components/schemas/_linksAccountDetails' accountDetailsWithoutConsent: description: > The ASPSP shall give at least one of the account reference identifiers: - iban type: object required: - currency properties: resourceId: description: >- This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint. type: string iban: $ref: '#/components/schemas/iban' currency: $ref: '#/components/schemas/currencyCode' name: description: Name of the account given by the bank or the PSU in online-banking. type: string maxLength: 35 status: $ref: '#/components/schemas/accountStatus' accountList: description: | List of accounts with details. type: object required: - accounts properties: accounts: type: array items: $ref: '#/components/schemas/accountDetails' accountListWithoutConsent: description: | List of accounts with details. type: object required: - accounts properties: accounts: type: array items: $ref: '#/components/schemas/accountDetailsWithoutConsent' accountReport: description: > 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". type: object required: - _links properties: booked: $ref: '#/components/schemas/transactionList' pending: $ref: '#/components/schemas/transactionList' _links: $ref: '#/components/schemas/_linksAccountReport' cardAccountReport: description: > JSON based card account report. This card account report contains transactions resulting from the query parameters. type: object required: - booked - _links properties: booked: $ref: '#/components/schemas/cardTransactionList' pending: $ref: '#/components/schemas/cardTransactionList' _links: $ref: '#/components/schemas/_linksCardAccountReport' transactionList: description: Array of transaction details type: array items: $ref: '#/components/schemas/transactionDetails' cardTransactionList: description: Array of transaction details type: array items: $ref: '#/components/schemas/cardTransaction' transactionDetails: description: Transaction details type: object required: - transactionAmount properties: transactionId: description: > the Transaction Id can be used as access-ID in the API, where more details on an transaction is offered. If this data attribute is provided this shows that the AIS can get access on more details about this transaction using the GET Transaction Details Request type: string entryReference: description: > Is the identification of the transaction as used e.g. for reference for deltafunction on application level. The same identification as for example used within camt.05x messages. type: string maxLength: 35 endToEndId: description: Unique end to end identity. type: string maxLength: 35 mandateId: description: 'Identification of Mandates, e.g. a SEPA Mandate ID.' type: string maxLength: 35 checkId: description: Identification of a Cheque. type: string maxLength: 35 creditorId: description: 'Identification of Creditors, e.g. a SEPA Creditor ID.' type: string maxLength: 35 bookingDate: $ref: '#/components/schemas/bookingDate' valueDate: description: >- The Date at which assets become available to the account owner in case of a credit. type: string format: date transactionAmount: $ref: '#/components/schemas/amount' exchangeRate: $ref: '#/components/schemas/exchangeRateList' creditorName: $ref: '#/components/schemas/creditorName' creditorAccount: $ref: '#/components/schemas/accountReference' ultimateCreditor: $ref: '#/components/schemas/ultimateCreditor' debtorName: $ref: '#/components/schemas/debtorName' debtorAccount: $ref: '#/components/schemas/accountReference' ultimateDebtor: $ref: '#/components/schemas/ultimateDebtor' remittanceInformationUnstructured: type: string maxLength: 140 remittanceInformationStructured: description: > Reference as contained in the structured remittance reference structure (without the surrounding XML structure). Different from other places the content is containt in plain form not in form of a structered field. type: string maxLength: 140 purposeCode: $ref: '#/components/schemas/purposeCode' bankTransactionCode: $ref: '#/components/schemas/bankTransactionCode' proprietaryBankTransactionCode: $ref: '#/components/schemas/proprietaryBankTransactionCode' _links: $ref: '#/components/schemas/_linksTransactionDetails' cardTransaction: description: Card transaction information type: object required: - transactionAmount properties: cardTransactionId: $ref: '#/components/schemas/cardTransactionId' terminalId: $ref: '#/components/schemas/terminalId' transactionDate: $ref: '#/components/schemas/transactionDate' bookingDate: $ref: '#/components/schemas/bookingDate' transactionAmount: $ref: '#/components/schemas/amount' exchangeRate: $ref: '#/components/schemas/exchangeRateList' originalAmount: $ref: '#/components/schemas/amount' markupFee: $ref: '#/components/schemas/amount' markupFeePercentage: type: string cardAcceptorId: type: string maxLength: 35 cardAcceptorAddress: $ref: '#/components/schemas/address' cardAcceptorCategoryCode: $ref: '#/components/schemas/cardAcceptorCategoryCode' maskedPAN: $ref: '#/components/schemas/maskedPan' transactionDetails: type: string maxLength: 140 invoiced: type: boolean proprietaryBankTransactionCode: $ref: '#/components/schemas/proprietaryBankTransactionCode' exchangeRateList: description: Array of exchange rates type: array items: $ref: '#/components/schemas/exchangeRate' exchangeRate: description: Exchange Rate type: object required: - sourceCurrency - rate - unitCurrency - targetCurrency - rateDate properties: sourceCurrency: $ref: '#/components/schemas/currencyCode' rate: type: string unitCurrency: type: string targetCurrency: $ref: '#/components/schemas/currencyCode' rateDate: type: string format: date rateContract: type: string balance: description: | A single balance element type: object required: - balanceAmount - balanceType properties: balanceAmount: $ref: '#/components/schemas/amount' balanceType: $ref: '#/components/schemas/balanceType' lastChangeDateTime: description: > This data element might be used to indicate e.g. with the expected or booked balance that no action is known on the account, which is not yet booked. type: string format: date-time referenceDate: description: Reference date of the balance type: string format: date lastCommittedTransaction: description: > "entryReference" of the last commited transaction to support the TPP in identifying whether all PSU transactions are already known. type: string maxLength: 35 balanceList: description: > A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. type: array items: $ref: '#/components/schemas/balance' cancellationList: description: An array of all cancellationIds connected to this resource. type: array items: $ref: '#/components/schemas/cancellationId' bicfi: description: | BICFI type: string pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' example: AAAADEBBXXX pan: description: | Primary Account Number according to ISO/IEC 7812. type: string maxLength: 35 example: '5409050000000000' maskedPan: description: | Masked Primary Account Number type: string maxLength: 35 example: 123456xxxxxx1234 bban: description: | Basic Bank Account Number (BBAN) Identifier This data element can be used in the body of the Consent Request Message for retrieving Account access Consent from this Account. This data elements is used for payment Accounts which have no IBAN. ISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer. type: string pattern: '[a-zA-Z0-9]{1,30}' example: BARC12345612345678 msisdn: type: string maxLength: 35 description: Mobile phone number. example: +49 170 1234567 iban: type: string description: IBAN of an account pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}' example: FR7612345987650123456789014 address: type: object required: - country properties: street: type: string maxLength: 70 buildingNumber: type: string city: type: string postalCode: type: string country: $ref: '#/components/schemas/countryCode' example: street: rue blue buildingnNumber: '89' city: Paris postalCode: '75000' country: FR countryCode: description: ISO 3166 ALPHA2 country code type: string pattern: '[A-Z]{2}' example: SE amount: type: object required: - currency - amount properties: currency: $ref: '#/components/schemas/currencyCode' amount: $ref: '#/components/schemas/amountValue' example: currency: EUR amount: '123' currencyCode: description: | ISO 4217 Alpha 3 currency code type: string pattern: '[A-Z]{3}' example: EUR amountValue: description: > The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot. **Example:** Valid representations for EUR with up to two decimals are: * 1056 * 5768.2 * -1.50 * 5877.78 type: string pattern: '-?[0-9]{1,14}(\.[0-9]{1,3})?' example: '5877.78' remittanceInformationStructured: description: | Structured remittance information type: object required: - reference properties: reference: type: string maxLength: 35 referenceType: type: string maxLength: 35 referenceIssuer: type: string maxLength: 35 remittanceInformationUnstructured: description: | Unstructured remittance information type: string maxLength: 140 example: Ref Number Merchant purposeCode: description: > ExternalPurpose1Code from ISO 20022. Values from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018. type: string enum: - BKDF - BKFE - BKFM - BKIP - BKPP - CBLK - CDCB - CDCD - CDCS - CDDP - CDOC - CDQC - ETUP - FCOL - MTUP - ACCT - CASH - COLL - CSDB - DEPT - INTC - LIMA - NETT - BFWD - CCIR - CCPC - CCPM - CCSM - CRDS - CRPR - CRSP - CRTL - EQPT - EQUS - EXPT - EXTD - FIXI - FWBC - FWCC - FWSB - FWSC - MARG - MBSB - MBSC - MGCC - MGSC - OCCC - OPBC - OPCC - OPSB - OPSC - OPTN - OTCD - REPO - RPBC - RPCC - RPSB - RPSC - RVPO - SBSC - SCIE - SCIR - SCRP - SHBC - SHCC - SHSL - SLEB - SLOA - SWBC - SWCC - SWPT - SWSB - SWSC - TBAS - TBBC - TBCC - TRCP - AGRT - AREN - BEXP - BOCE - COMC - CPYR - GDDS - GDSV - GSCB - LICF - MP2B - POPE - ROYA - SCVE - SERV - SUBS - SUPP - TRAD - CHAR - COMT - MP2P - ECPG - ECPR - ECPU - EPAY - CLPR - COMP - DBTC - GOVI - HLRP - HLST - INPC - INPR - INSC - INSU - INTE - LBRI - LIFI - LOAN - LOAR - PENO - PPTI - RELG - RINP - TRFD - FORW - FXNT - ADMG - ADVA - BCDM - BCFG - BLDM - BNET - CBFF - CBFR - CCRD - CDBL - CFEE - CGDD - CORT - COST - CPKC - DCRD - DSMT - DVPM - EDUC - FACT - FAND - FCPM - FEES - GOVT - ICCP - IDCP - IHRP - INSM - IVPT - MCDM - MCFG - MSVC - NOWS - OCDM - OCFG - OFEE - OTHR - PADD - PTSP - RCKE - RCPT - REBT - REFU - RENT - REOD - RIMB - RPNT - RRBN - RVPM - SLPI - SPLT - STDY - TBAN - TBIL - TCSC - TELI - TMPG - TPRI - TPRP - TRNC - TRVC - WEBI - ANNI - CAFI - CFDI - CMDT - DERI - DIVD - FREX - HEDG - INVS - PRME - SAVG - SECU - SEPI - TREA - UNIT - FNET - FUTR - ANTS - CVCF - DMEQ - DNTS - HLTC - HLTI - HSPC - ICRF - LTCF - MAFC - MARF - MDCS - VIEW - CDEP - SWFP - SWPP - SWRS - SWUF - ADCS - AEMP - ALLW - ALMY - BBSC - BECH - BENE - BONU - CCHD - COMM - CSLP - GFRP - GVEA - GVEB - GVEC - GVED - GWLT - HREC - PAYR - PEFC - PENS - PRCP - RHBS - SALA - SSBE - LBIN - LCOL - LFEE - LMEQ - LMFI - LMRK - LREB - LREV - LSFL - ESTX - FWLV - GSTX - HSTX - INTX - NITX - PTXP - RDTX - TAXS - VATX - WHLD - TAXR - B112 - BR12 - TLRF - TLRR - AIRB - BUSB - FERB - RLWY - TRPT - CBTV - ELEC - ENRG - GASB - NWCH - NWCM - OTLC - PHON - UBIL - WTER cardAcceptorCategoryCode: description: > Card Acceptor Category Code of the Card Acceptor as given in the related card transaction. type: string bankTransactionCode: description: > Bank transaction code as used by the ASPSP and using the sub elements of this structured code defined by ISO 20022. This code type is concatenating the three ISO20022 Codes * Domain Code, * Family Code, and * SubFamiliy Code by hyphens, resulting in �DomainCode�-�FamilyCode�-�SubFamilyCode�. type: string example: PMNT-RCDT-ESCT proprietaryBankTransactionCode: description: > Proprietary bank transaction code as used within a community or within an ASPSP e.g. for MT94x based transaction reports. type: string maxLength: 35 frequencyCode: description: > The following codes from the "EventFrequency7Code" of ISO 20022 are supported. - "Daily" - "Weekly" - "EveryTwoWeeks" - "Monthly" - "EveryTwoMonths" - "Quarterly" - "SemiAnnual" - "Annual" type: string enum: - Daily - Weekly - EveryTwoWeeks - Monthly - EveryTwoMonths - Quarterly - SemiAnnual - Annual frequencyPerDay: description: > This field indicates the requested maximum frequency for an access without PSU involvement per day. For a one-off access, this attribute is set to "1". type: integer example: 4 dayOfExecution: description: | Day of execution as string. This string consists of up two characters. Leading zeroes are not allowed. 31 is ultimo of the month. type: string maxLength: 2 enum: - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' executionRule: description: > "following" or "preceeding" supported as values. This data attribute defines the behavior when recurring payment dates falls on a weekend or bank holiday. The payment is then executed either the "preceeding" 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. type: string enum: - following - preceeding psuData: description: PSU Data for Update PSU Authentication. type: object required: - password properties: password: description: Password type: string psuMessageText: description: Text to be displayed to the PSU type: string maxLength: 512 creditorName: description: Creditor Name type: string maxLength: 70 example: Creditor Name debtorName: description: Debtor Name type: string maxLength: 70 example: Debtor Name ultimateDebtor: description: Ultimate Debtor type: string maxLength: 70 example: Ultimate Debtor ultimateCreditor: description: Ultimate Creditor type: string maxLength: 70 example: Ultimate Creditor transactionDate: description: Date of the actual card transaction type: string format: date startDate: description: > The first applicable day of execution starting from this date is the first payment. type: string format: date endDate: description: | The last applicable day of execution If not given, it is an infinite standing order. type: string format: date bookingDate: description: | The Date when an entry is posted to an account on the ASPSPs books. type: string format: date validUntil: description: > This parameter is requesting a valid until date for the requested consent. The content is the local ASPSP date in ISO-Date Format, e.g. 2017-10-30. Future dates might get adjusted by ASPSP. If a maximal available date is requested, a date in far future is to be used: "9999-12-31". In both cases the consent object to be retrieved by the GET Consent Request will contain the adjusted date. type: string format: date example: '2020-12-31' lastActionDate: description: > This date is containing the date of the last action on the consent object either through the XS2A interface or the PSU/ASPSP interface having an impact on the status. type: string format: date example: '2018-07-01' paymentInitiationSct_json: description: | Body for a SCT payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: $ref: '#/components/schemas/remittanceInformationUnstructured' paymentInitiationSctInst_json: description: | Body for a SCT INST payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 paymentInitiationTarget2_json: description: | Body for a TARGET-2 payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 paymentInitiationCrossBorder_json: description: | JSON body for a cross-border payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 paymentInitiationSctBulkElement_json: description: | Body for a bulk SCT payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: $ref: '#/components/schemas/remittanceInformationUnstructured' paymentInitiationSctInstBulkElement_json: description: | Body for a SCT INST payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 paymentInitiationTarget2BulkElement_json: description: | Body for a bulk TARGET-2 payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 paymentInitiationCrossBorderBulkElement_json: description: | JSON body for a cross-border payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 periodicPaymentInitiationSct_json: description: | JSON Body for a periodic SCT payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: $ref: '#/components/schemas/remittanceInformationUnstructured' startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' periodicPaymentInitiationSctInst_json: description: | JSON Body for a periodic SCT INST payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' periodicPaymentInitiationTarget2_json: description: | JSON Body for a periodic target-2 payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' periodicPaymentInitiationCrossBorder_json: description: | JSON body for a periodic cross-border payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' bulkPaymentInitiationSct_json: description: | JSON Body for a bulk SCT payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A list of JSON bodies for SCT payments. type: array items: $ref: '#/components/schemas/paymentInitiationSctBulkElement_json' bulkPaymentInitiationSctInst_json: description: | JSON Body for a bulk SCT INST payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A list of JSON bodies for SCT INST payments. type: array items: $ref: '#/components/schemas/paymentInitiationSctInstBulkElement_json' bulkPaymentInitiationTarget2_json: description: | JSON Body for a bulk TARGET-2 payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A list of JSON bodies for TARGET-2 payments. type: array items: $ref: '#/components/schemas/paymentInitiationTarget2BulkElement_json' bulkPaymentInitiationCrossBorder_json: description: | JSON body for a bulk cross-border payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A List of JSON bodies for cross-border payments. type: array items: $ref: '#/components/schemas/paymentInitiationCrossBorderBulkElement_json' confirmationOfFunds: description: | JSON Request body for the "Confirmation of Funds Service"
cardNumber String Optional Card Number of the card issued by the PIISP. Should be delivered if available.
account Account Reference Mandatory PSU's account number.
payee Max70Text Optional The merchant where the card is accepted as an information to the PSU.
instructedAmount Amount Mandatory Transaction amount to be checked within the funds check mechanism.
type: object required: - account - instructedAmount properties: cardNumber: description: | Card Number of the card issued by the PIISP. Should be delivered if available. type: string account: $ref: '#/components/schemas/accountReference' payee: description: Name payee type: string maxLength: 70 instructedAmount: $ref: '#/components/schemas/amount' consents: description: | Content of the body of a consent request. type: object required: - access - recurringIndicator - validUntil - frequencyPerDay - combinedServiceIndicator properties: access: $ref: '#/components/schemas/accountAccess' recurringIndicator: $ref: '#/components/schemas/recurringIndicator' validUntil: $ref: '#/components/schemas/validUntil' frequencyPerDay: $ref: '#/components/schemas/frequencyPerDay' combinedServiceIndicator: description: > If "true" indicates that a payment initiation service will be addressed in the same "session". type: boolean example: false updatePsuAuthentication: description: | Content of the body of a Update PSU Authentication Request Password subfield is used. type: object required: - psuData properties: psuData: $ref: '#/components/schemas/psuData' selectPsuAuthenticationMethod: description: | Content of the body of a Select PSU Authentication Method Request type: object required: - authenticationMethodId properties: authenticationMethodId: $ref: '#/components/schemas/authenticationMethodId' transactionAuthorisation: description: | Content of the body of a Transaction Authorisation Request type: object required: - scaAuthenticationData properties: scaAuthenticationData: $ref: '#/components/schemas/scaAuthenticationData' paymentInitiationSct_pain.001: description: | A pain.001 structure corresponding to the SCT schema urn:iso:std:iso:20022:tech:xsd:pain.001.001.03 type: string example: >- MIPI-123456789RI-123456789 2017-02-14T20:23:34.000Z 1 123 PaymentInitiator DE10000000012 PISP BIPI-123456789RI-123456789 TRF 1 123 SEPA 2017-02-15 PSU Name DE87200500001234567890 SLEV RI-123456789 123 Merchant123 DE23100120020123456789 Ref Number Merchant-123456 paymentInitiationSctInst_pain.001: description: | A pain.001 structure corresponding to the SCT INST schema. type: string paymentInitiationTarget2_pain.001: description: | A pain.001 structure corresponding to the target-2 schema For TARGET-2 payments only community wide pain.001 schemes do exist. type: string paymentInitiationCrossBorder_pain.001: description: | A pain.001 structure corresponding to the cross-border schema For cross-border payments only community wide pain.001 schemes do exist. type: string periodicPaymentInitiationMultipartBody: description: > The multipart message definition for the initiation of a periodic payment initiation where the information of the payment is contained in an pain.001 message (Part 1) and the additional informations related to the periodic payment is an additional JSON message (Part 2). type: object properties: xml_sct: oneOf: - $ref: '#/components/schemas/paymentInitiationSct_pain.001' - $ref: '#/components/schemas/paymentInitiationSctInst_pain.001' - $ref: '#/components/schemas/paymentInitiationTarget2_pain.001' - $ref: '#/components/schemas/paymentInitiationCrossBorder_pain.001' json_standingorderType: $ref: >- #/components/schemas/periodicPaymentInitiation_xml-Part2-standingorderType_json periodicPaymentInitiation_xml-Part2-standingorderType_json: description: > The body part 2 of a periodic payment initation request containes the execution related informations of the periodic payment. type: object required: - startDate - frequency properties: startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' paymentInitiationStatusResponse-200_json: description: >- Body of the response for a successful payment initiation status request in case of an JSON based endpoint. type: object required: - transactionStatus properties: transactionStatus: $ref: '#/components/schemas/transactionStatus' paymentInitiationStatusResponse-200_xml: description: > Body of the response for a successful payment initiation status request in case of an XML based endpoint. The status is returned as a pain.002 structure. urn:iso:std:iso:20022:tech:xsd:pain.002.001.03 The chosen XML schema of the Status Request is following the XML schema definitions of the original pain.001 schema. type: string paymentInitationRequestResponse-201: description: Body of the response for a successful payment initiation request. type: object required: - transactionStatus - paymentId - _links properties: transactionStatus: $ref: '#/components/schemas/transactionStatus' paymentId: $ref: '#/components/schemas/paymentId' transactionFees: $ref: '#/components/schemas/amount' transactionFeeIndicator: $ref: '#/components/schemas/transactionFeeIndicator' scaMethods: $ref: '#/components/schemas/scaMethods' chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' _links: $ref: '#/components/schemas/_linksPaymentInitiation' psuMessage: $ref: '#/components/schemas/psuMessageText' tppMessages: type: array items: $ref: '#/components/schemas/tppMessage2XX' accessTokenRequestResponse-200: description: Body of the response for a successful request. type: object properties: transactionStatus: $ref: '#/components/schemas/transactionStatus' paymentId: $ref: '#/components/schemas/paymentId' transactionFees: $ref: '#/components/schemas/amount' transactionFeeIndicator: $ref: '#/components/schemas/transactionFeeIndicator' scaMethods: $ref: '#/components/schemas/scaMethods' chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' _links: $ref: '#/components/schemas/_linksPaymentInitiation' psuMessage: $ref: '#/components/schemas/psuMessageText' tppMessages: type: array items: $ref: '#/components/schemas/tppMessage2XX' paymentInitationRequestMultiLevelScaResponse-201: description: Body of the response for a successful payment initiation request. type: object required: - transactionStatus - paymentId - _links properties: transactionStatus: $ref: '#/components/schemas/transactionStatus' paymentId: $ref: '#/components/schemas/paymentId' transactionFees: $ref: '#/components/schemas/amount' transactionFeeIndicator: $ref: '#/components/schemas/transactionFeeIndicator' _links: $ref: '#/components/schemas/_linksPaymentInitiationMultiLevelSca' psuMessage: $ref: '#/components/schemas/psuMessageText' tppMessages: type: array items: $ref: '#/components/schemas/tppMessage2XX' paymentInitiationCancelResponse-204_202: description: Body of the response for a successful cancel payment request. type: object required: - transactionStatus properties: transactionStatus: $ref: '#/components/schemas/transactionStatus' scaMethods: $ref: '#/components/schemas/scaMethods' chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' _links: $ref: '#/components/schemas/_linksPaymentInitiationCancel' paymentInitiationSctWithStatusResponse: description: > JSON response body consistion of the corresponding SCT payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: $ref: '#/components/schemas/remittanceInformationUnstructured' transactionStatus: $ref: '#/components/schemas/transactionStatus' paymentInitiationSctInstWithStatusResponse: description: > JSON response body consistion of the corresponding SCT INST payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 transactionStatus: $ref: '#/components/schemas/transactionStatus' paymentInitiationTarget2WithStatusResponse: description: > JSON response body consistion of the corresponding TARGET-2 payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 transactionStatus: $ref: '#/components/schemas/transactionStatus' paymentInitiationCrossBorderWithStatusResponse: description: > JSON response body consistion of the corresponding cross-border payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 transactionStatus: $ref: '#/components/schemas/transactionStatus' periodicPaymentInitiationSctWithStatusResponse: description: > JSON response body consistion of the corresponding periodic SCT payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: $ref: '#/components/schemas/remittanceInformationUnstructured' startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' transactionStatus: $ref: '#/components/schemas/transactionStatus' periodicPaymentInitiationSctInstWithStatusResponse: description: > JSON response body consistion of the corresponding periodic SCT INST payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: $ref: '#/components/schemas/remittanceInformationUnstructured' startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' transactionStatus: $ref: '#/components/schemas/transactionStatus' periodicPaymentInitiationTarget2WithStatusResponse: description: > JSON response body consistion of the corresponding periodic TARGET-2 payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' transactionStatus: $ref: '#/components/schemas/transactionStatus' periodicPaymentInitiationCrossBorderWithStatusResponse: description: > JSON response body consistion of the corresponding periodic cross-border payment initation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: debtorAccount: $ref: '#/components/schemas/accountReference' instructedAmount: $ref: '#/components/schemas/amount' creditorAccount: $ref: '#/components/schemas/accountReference' creditorAgent: $ref: '#/components/schemas/bicfi' creditorName: $ref: '#/components/schemas/creditorName' creditorAddress: $ref: '#/components/schemas/address' remittanceInformationUnstructured: type: string maxLength: 140 startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' executionRule: $ref: '#/components/schemas/executionRule' frequency: $ref: '#/components/schemas/frequencyCode' dayOfExecution: $ref: '#/components/schemas/dayOfExecution' transactionStatus: $ref: '#/components/schemas/transactionStatus' bulkPaymentInitiationSctWithStatusResponse: description: > JSON response body consistion of the corresponding bulk SCT payment initation JSON body together with an optional transaction status field. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A list of JSON bodies for SCT payments. type: array items: $ref: '#/components/schemas/paymentInitiationSct_json' transactionStatus: $ref: '#/components/schemas/transactionStatus' bulkPaymentInitiationSctInstWithStatusResponse: description: > JSON response body consistion of the corresponding bulk SCT INST payment initation JSON body together with an optional transaction status field. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A list of JSON bodies for SCT INST payments. type: array items: $ref: '#/components/schemas/paymentInitiationSctInst_json' transactionStatus: $ref: '#/components/schemas/transactionStatus' bulkPaymentInitiationTarget2WithStatusResponse: description: > JSON response body consistion of the corresponding bulk TARGET-2 payment initation JSON body together with an optional transaction status field. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A list of JSON bodies for TARGET-2 payments. type: array items: $ref: '#/components/schemas/paymentInitiationTarget2_json' transactionStatus: $ref: '#/components/schemas/transactionStatus' bulkPaymentInitiationCrossBorderWithStatusResponse: description: > JSON response body consistion of the corresponding bulk cross-border payment initation JSON body together with an optional transaction status field. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: '#/components/schemas/batchBookingPreferred' requestedExecutionDate: type: string format: date debtorAccount: $ref: '#/components/schemas/accountReference' payments: description: A list of JSON bodies for cross-border payments. type: array items: $ref: '#/components/schemas/paymentInitiationCrossBorder_json' transactionStatus: $ref: '#/components/schemas/transactionStatus' scaStatusResponse: description: Body of the JSON response with SCA Status type: object properties: scaStatus: $ref: '#/components/schemas/scaStatus' startScaprocessResponse: description: Body of the JSON response for a Start SCA authorisation request. type: object required: - scaStatus - _links properties: scaStatus: $ref: '#/components/schemas/scaStatus' scaMethods: $ref: '#/components/schemas/scaMethods' chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' _links: $ref: '#/components/schemas/_linksStartScaProcess' psuMessage: $ref: '#/components/schemas/psuMessageText' updatePsuIdenticationResponse: description: >- Body of the JSON response for a successful update PSU Identification request. type: object required: - _links - scaStatus properties: _links: $ref: '#/components/schemas/_linksUpdatePsuIdentification' scaStatus: $ref: '#/components/schemas/scaStatus' psuMessage: $ref: '#/components/schemas/psuMessageText' updatePsuAuthenticationResponse: description: >- Body of the JSON response for a successful update PSU Authentication request. type: object required: - scaStatus properties: chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' scaMethods: $ref: '#/components/schemas/scaMethods' _links: $ref: '#/components/schemas/_linksUpdatePsuAuthentication' scaStatus: $ref: '#/components/schemas/scaStatus' psuMessage: $ref: '#/components/schemas/psuMessageText' selectPsuAuthenticationMethodResponse: description: >- Body of the JSON response for a successful select PSU Authentication Method request. type: object required: - scaStatus properties: chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' _links: $ref: '#/components/schemas/_linksSelectPsuAuthenticationMethod' scaStatus: $ref: '#/components/schemas/scaStatus' psuMessage: $ref: '#/components/schemas/psuMessageText' signingBasketResponse-200: description: | 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. type: object required: - transactionStatus properties: payments: $ref: '#/components/schemas/paymentIdList' consents: $ref: '#/components/schemas/consentIdList' transactionStatus: $ref: '#/components/schemas/transactionStatus' signingBasketStatusResponse-200: type: object required: - transactionStatus properties: transactionStatus: $ref: '#/components/schemas/transactionStatus_SB' signingBasketResponse-201: description: >- Body of the JSON response for a successful create signing basket request. type: object required: - transactionStatus - basketId - _links properties: transactionStatus: $ref: '#/components/schemas/transactionStatus' basketId: $ref: '#/components/schemas/basketId' scaMethods: $ref: '#/components/schemas/scaMethods' chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' _links: $ref: '#/components/schemas/_linksSigningBasket' psuMessage: $ref: '#/components/schemas/psuMessageText' tppMessages: type: array items: $ref: '#/components/schemas/tppMessage2XX' consentsResponse-201: description: Body of the JSON response for a successful conset request. type: object required: - consentStatus - consentId - _links properties: consentStatus: $ref: '#/components/schemas/consentStatus' consentId: $ref: '#/components/schemas/consentId' scaMethods: $ref: '#/components/schemas/scaMethods' chosenScaMethod: $ref: '#/components/schemas/chosenScaMethod' challengeData: $ref: '#/components/schemas/challengeData' _links: $ref: '#/components/schemas/_linksConsents' message: description: 'Text to be displayed to the PSU, e.g. in a Decoupled SCA Approach.' type: string maxLength: 512 consentStatusResponse-200: description: >- Body of the JSON response for a successful get status request for a consent. type: object required: - consentStatus properties: consentStatus: $ref: '#/components/schemas/consentStatus' consentInformationResponse-200_json: description: Body of the JSON response for a successfull get consent request. type: object required: - access - recurringIndicator - validUntil - frequencyPerDay - lastActionDate - consentStatus properties: access: $ref: '#/components/schemas/accountAccess' recurringIndicator: $ref: '#/components/schemas/recurringIndicator' validUntil: $ref: '#/components/schemas/validUntil' frequencyPerDay: $ref: '#/components/schemas/frequencyPerDay' lastActionDate: $ref: '#/components/schemas/lastActionDate' consentStatus: $ref: '#/components/schemas/consentStatus' readAccountBalanceResponse-200: description: >- Body of the response for a successful read balance for an account request. type: object required: - balances properties: account: $ref: '#/components/schemas/accountReference' balances: $ref: '#/components/schemas/balanceList' readCardAccountBalanceResponse-200: description: >- Body of the response for a successful read balance for a card account request. type: object required: - balances properties: cardAccount: $ref: '#/components/schemas/accountReference' balances: $ref: '#/components/schemas/balanceList' transactionsResponse-200_json: description: > Body of the JSON response for a successful read transaction list request. This account report contains transactions resulting from the query parameters. type: object properties: account: $ref: '#/components/schemas/accountReference' transactions: $ref: '#/components/schemas/accountReport' balances: $ref: '#/components/schemas/balanceList' _links: $ref: '#/components/schemas/_linksDownload' cardAccountsTransactionsResponse200: description: > 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. type: object properties: cardAccount: $ref: '#/components/schemas/accountReference' cardTransactions: $ref: '#/components/schemas/cardAccountReport' balances: $ref: '#/components/schemas/balanceList' _links: $ref: '#/components/schemas/_linksDownload' _linksAll: description: | A _link object with all availabel link types type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: scaRedirect: $ref: '#/components/schemas/hrefType' scaOAuth: $ref: '#/components/schemas/hrefType' startAuthorisation: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/components/schemas/hrefType' updatePsuIdentification: $ref: '#/components/schemas/hrefType' startAuthorisationWithProprietaryData: $ref: '#/components/schemas/hrefType' updateProprietaryData: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/components/schemas/hrefType' updatePsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/components/schemas/hrefType' updateEncryptedPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithAuthenticationMethodSelection: $ref: '#/components/schemas/hrefType' selectAuthenticationMethod: $ref: '#/components/schemas/hrefType' startAuthorisationWithTransactionAuthorisation: $ref: '#/components/schemas/hrefType' authoriseTransaction: $ref: '#/components/schemas/hrefType' self: $ref: '#/components/schemas/hrefType' status: $ref: '#/components/schemas/hrefType' scaStatus: $ref: '#/components/schemas/hrefType' account: $ref: '#/components/schemas/hrefType' balances: $ref: '#/components/schemas/hrefType' transactions: $ref: '#/components/schemas/hrefType' transactionDetails: $ref: '#/components/schemas/hrefType' cardAccount: $ref: '#/components/schemas/hrefType' cardTransactions: $ref: '#/components/schemas/hrefType' first: $ref: '#/components/schemas/hrefType' next: $ref: '#/components/schemas/hrefType' previous: $ref: '#/components/schemas/hrefType' last: $ref: '#/components/schemas/hrefType' download: $ref: '#/components/schemas/hrefType' _linksPaymentInitiation: description: > A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. **Remark:** All links can be relative or full links, to be decided by the ASPSP. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): * 'scaRedirect': In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. * 'scaOAuth': In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. * 'startAuthorisation': In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded). * 'startAuthorisationWithPsuIdentification': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU identification data. * 'startAuthorisationWithPsuAuthentication': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU authentication data. * 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading. * 'startAuthorisationWithAuthenticationMethodSelection': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while selecting the authentication method. This link is contained under exactly the same conditions as the data element "scaMethods" * 'startAuthorisationWithTransactionAuthorisation': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while authorising the transaction e.g. by uploading an OTP received by SMS. * 'self': The link to the payment initiation resource created by this request. This link can be used to retrieve the resource data. * 'status': The link to retrieve the transaction status of the payment initiation. * 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. This link is only contained, if an authorisation sub-resource has been already created. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: scaRedirect: $ref: '#/components/schemas/hrefType' scaOAuth: $ref: '#/components/schemas/hrefType' startAuthorisation: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithAuthenticationMethodSelection: $ref: '#/components/schemas/hrefType' startAuthorisationWithTransactionAuthorisation: $ref: '#/components/schemas/hrefType' self: $ref: '#/components/schemas/hrefType' status: $ref: '#/components/schemas/hrefType' scaStatus: $ref: '#/components/schemas/hrefType' example: scaRedirect: href: 'https://www.testbank.com/asdfasdfasdf' self: href: /v1/payments/sepa-credit-transfers/1234-wertiq-983 _linksPaymentInitiationMultiLevelSca: description: > Type of links admitted in this response, (further links might be added for ASPSP defined extensions): * 'startAuthorisation': In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded). * 'startAuthorisationWithPsuIdentification': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU identification data. * 'startAuthorisationWithPsuAuthentication': The link to the authorisation end-point, where an authorisation sub-resource has to be generated while uploading the PSU authentication data. * 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading. * 'self': The link to the payment initiation resource created by this request. This link can be used to retrieve the resource data. * 'status': The link to retrieve the transaction status of the payment initiation. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: startAuthorisation: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/components/schemas/hrefType' self: $ref: '#/components/schemas/hrefType' status: $ref: '#/components/schemas/hrefType' _linksPaymentInitiationCancel: description: > A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. Remark: All links can be relative or full links, to be decided by the ASPSP. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): * 'startAuthorisation': In case, where just the authorisation process of the cancellation needs to be started, but no additional data needs to be updated for time being (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded). * 'startAuthorisationWithPsuIdentification': In case where a PSU Identification needs to be updated when starting the cancellation authorisation: The link to the cancellation-authorisations end-point, where the cancellation sub-resource has to be generated while uploading the PSU identification data. * 'startAuthorisationWithPsuAuthentication': In case of a yet to be created authorisation sub-resource: The link to the cancalation authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU authentication data. * 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading. * 'startAuthorisationWithAuthenticationMethodSelection': The link to the authorisation end-point, where the cancellation-authorisation sub-resource has to be generated while selecting the authentication method. This link is contained under exactly the same conditions as the data element 'scaMethods' type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: startAuthorisation: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithAuthenticationMethodSelection: $ref: '#/components/schemas/hrefType' _linksUpdatePsuIdentification: description: > A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. **Remark:** All links can be relative or full links, to be decided by the ASPSP. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): - 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: scaStatus: $ref: '#/components/schemas/hrefType' _linksUpdatePsuAuthentication: description: > A list of hyperlinks to be recognised by the TPP. Might be contained, if several authentication methods are available for the PSU. Type of links admitted in this response: * 'selectAuthenticationMethod': This is a link to a resource, where the TPP can select the applicable second factor authentication methods for the PSU, if there were several available authentication methods. This link is only contained, if the PSU is already identified or authenticated with the first relevant factor or alternatively an access token, if SCA is required and if the PSU has a choice between different authentication methods. If this link is contained, then there is also the data element 'scaMethods' contained in the response body. * 'authoriseTransaction': The link to the resource, where the "Transaction Authorisation Request" is sent to. This is the link to the resource which will authorise the transaction by checking the SCA authentication data within the Embedded SCA approach. * 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: selectAuthenticationMethod: $ref: '#/components/schemas/hrefType' authoriseTransaction: $ref: '#/components/schemas/hrefType' scaStatus: $ref: '#/components/schemas/hrefType' _linksSelectPsuAuthenticationMethod: description: > A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. **Remark:** All links can be relative or full links, to be decided by the ASPSP. **Remark:** This method can be applied before or after PSU identification. This leads to many possible hyperlink responses. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): - "scaRedirect": In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. - "scaOAuth": In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. - "updatePsuIdentification": The link to the authorisation or cancellation authorisation sub-resource, where PSU identification data needs to be uploaded. - "updatePsuAuthentication": The link to the authorisation or cancellation authorisation sub-resource, where PSU authentication data needs to be uploaded. "authoriseTransaction": The link to the authorisation or cancellation authorisation sub-resource, where the authorisation data has to be uploaded, e.g. the TOP received by SMS. "scaStatus": The link to retrieve the scaStatus of the corresponding authorisation sub-resource. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: scaRedirect: $ref: '#/components/schemas/hrefType' scaOAuth: $ref: '#/components/schemas/hrefType' updatePsuIdentification: $ref: '#/components/schemas/hrefType' updatePsuAuthentication: $ref: '#/components/schemas/hrefType' authoriseTransaction: $ref: '#/components/schemas/hrefType' scaStatus: $ref: '#/components/schemas/hrefType' _linksStartScaProcess: description: > A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. **Remark:** All links can be relative or full links, to be decided by the ASPSP. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): - 'scaRedirect': In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. - 'scaOAuth': In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. - 'updatePsuIdentification': The link to the authorisation or cancellation authorisation sub-resource, where PSU identification data needs to be uploaded. - 'startAuthorisationWithPsuAuthentication': The link to the authorisation or cancellation authorisation sub-resource, where PSU authentication data needs to be uploaded. * 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading. - 'selectAuthenticationMethod': The link to the authorisation or cancellation authorisation sub-resource, where the selected authentication method needs to be uploaded. This link is contained under exactly the same conditions as the data element 'scaMethods'. - 'authoriseTransaction': The link to the authorisation or cancellation authorisation sub-resource, where the authorisation data has to be uploaded, e.g. the TOP received by SMS. - 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: scaRedirect: $ref: '#/components/schemas/hrefType' scaOAuth: $ref: '#/components/schemas/hrefType' updatePsuIdentification: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/components/schemas/hrefType' selectAuthenticationMethod: $ref: '#/components/schemas/hrefType' authoriseTransaction: $ref: '#/components/schemas/hrefType' scaStatus: $ref: '#/components/schemas/hrefType' _linksDownload: description: > A list of hyperlinks to be recognised by the TPP. Type of links admitted in this response: - "download": a link to a resource, where the transaction report might be downloaded from in case where transaction reports have a huge size. Remark: This feature shall only be used where camt-data is requested which has a huge size. type: object additionalProperties: $ref: '#/components/schemas/hrefType' required: - download properties: download: $ref: '#/components/schemas/hrefType' _linksConsents: description: > A list of hyperlinks to be recognised by the TPP. Type of links admitted in this response (which might be extended by single ASPSPs as indicated in its XS2A documentation): - 'scaRedirect': In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. - 'scaOAuth': In case of an OAuth2 based Redirect Approach, the ASPSP is transmitting the link where the configuration of the OAuth2 Server is defined. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. - 'startAuthorisation': In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded). - 'startAuthorisationWithPsuIdentification': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU identification data. - 'startAuthorisationWithPsuAuthentication': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU authentication data. * 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading. - 'startAuthorisationWithAuthenticationMethodSelection': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while selecting the authentication method. This link is contained under exactly the same conditions as the data element 'scaMethods' - 'startAuthorisationWithTransactionAuthorisation': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while authorising the transaction e.g. by uploading an OTP received by SMS. - 'self': The link to the Establish Account Information Consent resource created by this request. This link can be used to retrieve the resource data. - 'status': The link to retrieve the status of the account information consent. - 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. This link is only contained, if an authorisation sub-resource has been already created. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: scaRedirect: $ref: '#/components/schemas/hrefType' scaOAuth: $ref: '#/components/schemas/hrefType' startAuthorisation: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithAuthenticationMethodSelection: $ref: '#/components/schemas/hrefType' startAuthorisationWithTransactionAuthorisation: $ref: '#/components/schemas/hrefType' self: $ref: '#/components/schemas/hrefType' status: $ref: '#/components/schemas/hrefType' scaStatus: $ref: '#/components/schemas/hrefType' _linksSigningBasket: description: > A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. Remark: All links can be relative or full links, to be decided by the ASPSP. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): * 'scaRedirect': In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. * 'scaOAuth': In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. * 'startAuthorisation': In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded). * 'startAuthorisationWithPsuIdentification': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU identification data. * 'startAuthorisationWithPsuAuthentication': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU authentication data. * 'startAuthorisationWithEncryptedPsuAuthentication': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the encrypted PSU authentication data. * 'startAuthorisationWithAuthenticationMethodSelection': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while selecting the authentication method. This link is contained under exactly the same conditions as the data element 'scaMethods' * 'startAuthorisationWithTransactionAuthorisation': The link to the authorisation end-point, where the authorisation sub-resource has to be generated while authorising the transaction e.g. by uploading an OTP received by SMS. * 'self': The link to the payment initiation resource created by this request. This link can be used to retrieve the resource data. * 'status': The link to retrieve the transaction status of the payment initiation. * 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. This link is only contained, if an authorisation sub-resource has been already created. type: object properties: scaRedirect: $ref: '#/components/schemas/hrefType' scaOAuth: $ref: '#/components/schemas/hrefType' startAuthorisation: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/components/schemas/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/components/schemas/hrefType' startAuthorisationWithAuthenticationMethodSelection: $ref: '#/components/schemas/hrefType' startAuthorisationWithTransactionAuthorisation: $ref: '#/components/schemas/hrefType' self: $ref: '#/components/schemas/hrefType' status: $ref: '#/components/schemas/hrefType' scaStatus: $ref: '#/components/schemas/hrefType' _linksAccountReport: type: object additionalProperties: $ref: '#/components/schemas/hrefType' required: - account properties: account: $ref: '#/components/schemas/hrefType' first: $ref: '#/components/schemas/hrefType' next: $ref: '#/components/schemas/hrefType' previous: $ref: '#/components/schemas/hrefType' last: $ref: '#/components/schemas/hrefType' _linksCardAccountReport: type: object additionalProperties: $ref: '#/components/schemas/hrefType' required: - cardAccount properties: cardAccount: $ref: '#/components/schemas/hrefType' first: $ref: '#/components/schemas/hrefType' next: $ref: '#/components/schemas/hrefType' previous: $ref: '#/components/schemas/hrefType' last: $ref: '#/components/schemas/hrefType' _linksTransactionDetails: type: object additionalProperties: $ref: '#/components/schemas/hrefType' required: - transactionDetails properties: transactionDetails: $ref: '#/components/schemas/hrefType' _linksAccountDetails: description: > 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. type: object additionalProperties: $ref: '#/components/schemas/hrefType' properties: balances: $ref: '#/components/schemas/hrefType' transactions: $ref: '#/components/schemas/hrefType' tppMessageCategory: description: Category of the TPP message category type: string enum: - ERROR - WARNING MessageCode2XX: description: Message codes for HTTP Error codes 2XX. type: string enum: - WARNING MessageCode400_AIS: description: Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST). type: string enum: - FORMAT_ERROR - PARAMETER_NOT_CONSISTENT - PARAMETER_NOT_SUPPORTED - SERVICE_INVALID - RESOURCE_UNKNOWN - RESOURCE_EXPIRED - RESOURCE_BLOCKED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKNOWN - CONSENT_UNKNOWN - SESSIONS_NOT_SUPPORTED MessageCode400_PIS: description: Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST). type: string enum: - FORMAT_ERROR - PARAMETER_NOT_CONSISTENT - PARAMETER_NOT_SUPPORTED - SERVICE_INVALID - RESOURCE_UNKNOWN - RESOURCE_EXPIRED - RESOURCE_BLOCKED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKNOWN - CONSENT_UNKNOWN - PAYMENT_FAILED - EXECUTION_DATE_INVALID MessageCode400_PIIS: description: Message codes defined for PIIS for HTTP Error code 400 (BAD_REQUEST). type: string enum: - FORMAT_ERROR - PARAMETER_NOT_CONSISTENT - PARAMETER_NOT_SUPPORTED - SERVICE_INVALID - RESOURCE_UNKNOWN - RESOURCE_EXPIRED - RESOURCE_BLOCKED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKNOWN - CONSENT_UNKNOWN - CARD_INVALID - NO_PIIS_ACTIVATION MessageCode400_SB: description: >- Message codes defined for signing baskets for HTTP Error code 400 (BAD_REQUEST). type: string enum: - FORMAT_ERROR - PARAMETER_NOT_CONSISTENT - PARAMETER_NOT_SUPPORTED - SERVICE_INVALID - RESOURCE_UNKNOWN - RESOURCE_EXPIRED - RESOURCE_BLOCKED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKNOWN - CONSENT_UNKNOWN - REFERENCE_MIX_INVALID MessageCode401_PIS: description: Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED). type: string enum: - CERTIFICATE_INVALID - CERTIFICATE_EXPIRED - CERTIFICATE_BLOCKED - CERTIFICATE_REVOKE - CERTIFICATE_MISSING - SIGNATURE_INVALID - SIGNATURE_MISSING - CORPORATE_ID_INVALID - PSU_CREDENTIALS_INVALID - CONSENT_INVALID - CONSENT_EXPIRED - TOKEN_UNKNOWN - TOKEN_INVALID - TOKEN_EXPIRED - REQUIRED_KID_MISSING MessageCode401_AIS: description: Message codes defined for AIS for HTTP Error code 401 (UNAUTHORIZED). type: string enum: - CERTIFICATE_INVALID - CERTIFICATE_EXPIRED - CERTIFICATE_BLOCKED - CERTIFICATE_REVOKE - CERTIFICATE_MISSING - SIGNATURE_INVALID - SIGNATURE_MISSING - CORPORATE_ID_INVALID - PSU_CREDENTIALS_INVALID - CONSENT_INVALID - CONSENT_EXPIRED - TOKEN_UNKNOWN - TOKEN_INVALID - TOKEN_EXPIRED MessageCode401_PIIS: description: Message codes defined for PIIS for HTTP Error code 401 (UNAUTHORIZED). type: string enum: - CERTIFICATE_INVALID - CERTIFICATE_EXPIRED - CERTIFICATE_BLOCKED - CERTIFICATE_REVOKE - CERTIFICATE_MISSING - SIGNATURE_INVALID - SIGNATURE_MISSING - CORPORATE_ID_INVALID - PSU_CREDENTIALS_INVALID - CONSENT_INVALID - CONSENT_EXPIRED - TOKEN_UNKNOWN - TOKEN_INVALID - TOKEN_EXPIRED MessageCode401_SB: description: >- Message codes defined for signing baskets for HTTP Error code 401 (UNAUTHORIZED). type: string enum: - CERTIFICATE_INVALID - CERTIFICATE_EXPIRED - CERTIFICATE_BLOCKED - CERTIFICATE_REVOKE - CERTIFICATE_MISSING - SIGNATURE_INVALID - SIGNATURE_MISSING - CORPORATE_ID_INVALID - PSU_CREDENTIALS_INVALID - CONSENT_INVALID - CONSENT_EXPIRED - TOKEN_UNKNOWN - TOKEN_INVALID - TOKEN_EXPIRED MessageCode403_PIS: description: >- Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN). type: string enum: - CONSENT_UNKNOWN - SERVICE_BLOCKED - RESOURCE_UNKNOWN - RESOURCE_EXPIRED - PRODUCT_INVALID MessageCode403_AIS: description: Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN). type: string enum: - CONSENT_UNKNOWN - SERVICE_BLOCKED - RESOURCE_UNKNOWN - RESOURCE_EXPIRED MessageCode403_PIIS: description: Message codes defined for PIIS for HTTP Error code 403 (FORBIDDEN). type: string enum: - CONSENT_UNKNOWN - SERVICE_BLOCKED - RESOURCE_UNKNOWN - RESOURCE_EXPIRED MessageCode403_SB: description: >- Message codes defined for signing baskets for HTTP Error code 403 (FORBIDDEN). type: string enum: - CONSENT_UNKNOWN - SERVICE_BLOCKED - RESOURCE_UNKNOWN - RESOURCE_EXPIRED MessageCode404_PIS: description: Message codes defined for PIS for HTTP Error code 404 (NOT FOUND). type: string enum: - RESOURCE_UNKNOWN - PRODUCT_UNKNOWN MessageCode404_AIS: description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND). type: string enum: - RESOURCE_UNKNOWN MessageCode404_PIIS: description: Message codes defined for PIIS for HTTP Error code 404 (NOT FOUND). type: string enum: - RESOURCE_UNKNOWN MessageCode404_SB: description: >- Message codes defined for signing baskets for HTTP Error code 404 (NOT FOUND). type: string enum: - RESOURCE_UNKNOWN MessageCode405_PIS: description: >- Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - SERVICE_INVALID MessageCode405_PIS_CANC: description: >- Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - CANCELLATION_INVALID - SERVICE_INVALID MessageCode405_AIS: description: >- Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - SERVICE_INVALID MessageCode405_PIIS: description: >- Message codes defined for PIIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - SERVICE_INVALID MessageCode405_SB: description: >- Message codes defined for SB for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - SERVICE_INVALID MessageCode406_AIS: description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE). type: string enum: - REQUESTED_FORMATS_INVALID MessageCode409_AIS: description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT). type: string enum: - STATUS_INVALID MessageCode409_PIS: description: Message codes defined for PIS for HTTP Error code 409 (CONFLICT). type: string enum: - STATUS_INVALID MessageCode409_PIIS: description: Message codes defined for PIIS for HTTP Error code 409 (CONFLICT). type: string enum: - STATUS_INVALID MessageCode409_SB: description: >- Message codes defined for signing baskets for HTTP Error code 409 (CONFLICT). type: string enum: - REFERENCE_STATUS_INVALID - STATUS_INVALID MessageCode429_AIS: description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS). type: string enum: - ACCESS_EXCEEDED tppMessageText: description: Additional explaining text to the TPP. type: string maxLength: 512 tppMessage2XX: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode2XX' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage400_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode400_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage400_PIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode400_PIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage400_PIIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode400_PIIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage400_SB: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode400_SB' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage401_PIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode401_PIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage401_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode401_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage401_PIIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode401_PIIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage401_SB: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode401_SB' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage403_PIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode403_PIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage403_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode403_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage403_PIIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode403_PIIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage403_SB: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode403_SB' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage404_PIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode404_PIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage404_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode404_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage404_PIIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode404_PIIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage404_SB: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode404_SB' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage405_PIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode405_PIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage405_PIS_CANC: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode405_PIS_CANC' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage405_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode405_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage405_PIIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode405_PIIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage405_SB: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode405_SB' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage409_PIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode409_PIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage406_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode406_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage409_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode409_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage409_PIIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode409_PIIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage409_SB: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode409_SB' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppMessage429_AIS: type: object required: - category - code properties: category: $ref: '#/components/schemas/tppMessageCategory' code: $ref: '#/components/schemas/MessageCode429_AIS' path: type: string text: $ref: '#/components/schemas/tppMessageText' tppErrorTitle: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 tppErrorDetail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 Error400_PIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 400 for PIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode400_PIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode400_PIS' _links: $ref: '#/components/schemas/_linksAll' Error400_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 400 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode400_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode400_AIS' _links: $ref: '#/components/schemas/_linksAll' Error400_PIIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 400 for PIIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode400_PIIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode400_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error400_SB: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 400 for signing baskets. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode400_SB' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode400_SB' _links: $ref: '#/components/schemas/_linksAll' Error401_PIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 401 for PIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode401_PIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode401_PIS' _links: $ref: '#/components/schemas/_linksAll' Error401_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 401 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode401_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode401_AIS' _links: $ref: '#/components/schemas/_linksAll' Error401_PIIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 401 for PIIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode401_PIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode401_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error401_SB: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 401 for signing baskets. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode401_SB' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode401_SB' _links: $ref: '#/components/schemas/_linksAll' Error403_PIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 403 for PIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode403_PIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode403_PIS' _links: $ref: '#/components/schemas/_linksAll' Error403_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 403 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode403_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode403_AIS' _links: $ref: '#/components/schemas/_linksAll' Error403_PIIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 403 for PIIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode403_PIIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode403_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error403_SB: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 403 for signing baskets. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode403_SB' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode403_SB' _links: $ref: '#/components/schemas/_linksAll' Error404_PIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 404 for PIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode404_PIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode404_PIS' _links: $ref: '#/components/schemas/_linksAll' Error404_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 404 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode404_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode404_AIS' _links: $ref: '#/components/schemas/_linksAll' Error404_PIIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 404 for PIIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode404_PIIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode404_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error404_SB: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 404 for signing baskets. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode404_SB' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode404_SB' _links: $ref: '#/components/schemas/_linksAll' Error405_PIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for PIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode405_PIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode405_PIS' _links: $ref: '#/components/schemas/_linksAll' Error405_PIS_CANC: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for a pament cancelation (PIS). type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode405_PIS_CANC' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode405_PIS_CANC' _links: $ref: '#/components/schemas/_linksAll' Error405_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode405_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode405_AIS' _links: $ref: '#/components/schemas/_linksAll' Error405_PIIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for PIIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode405_PIIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode405_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error405_SB: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for signing baskets. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode405_SB' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode405_SB' _links: $ref: '#/components/schemas/_linksAll' Error406_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 406 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode406_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode406_AIS' _links: $ref: '#/components/schemas/_linksAll' Error409_PIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 409 for PIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode409_PIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode409_PIS' _links: $ref: '#/components/schemas/_linksAll' Error409_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 409 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode409_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode409_AIS' _links: $ref: '#/components/schemas/_linksAll' Error409_PIIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 409 for PIIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode409_PIIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode409_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error409_SB: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 409 for signing baskets. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode409_SB' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: >- This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode409_SB' _links: $ref: '#/components/schemas/_linksAll' Error429_AIS: description: > Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 429 for AIS. type: object required: - type - code properties: type: description: > A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string format: uri maxLength: 70 title: description: | Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: > Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/components/schemas/MessageCode429_AIS' additionalErrors: description: | Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: description: > This is a data element to support the declaration of additional errors in the context of [RFC7807] in case of a HTTP error code 429 for. type: object required: - code properties: title: $ref: '#/components/schemas/tppErrorTitle' detail: $ref: '#/components/schemas/tppErrorDetail' code: $ref: '#/components/schemas/MessageCode429_AIS' _links: $ref: '#/components/schemas/_linksAll' Error400_NG_PIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage400_PIS' _links: $ref: '#/components/schemas/_linksAll' Error400_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage400_AIS' _links: $ref: '#/components/schemas/_linksAll' Error400_NG_PIIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage400_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error400_NG_SB: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage400_SB' _links: $ref: '#/components/schemas/_linksAll' Error401_NG_PIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage401_PIS' _links: $ref: '#/components/schemas/_linksAll' Error401_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage401_AIS' _links: $ref: '#/components/schemas/_linksAll' Error401_NG_PIIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage401_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error401_NG_SB: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage401_SB' _links: $ref: '#/components/schemas/_linksAll' Error403_NG_PIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage403_PIS' _links: $ref: '#/components/schemas/_linksAll' Error403_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage403_AIS' _links: $ref: '#/components/schemas/_linksAll' Error403_NG_PIIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage403_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error403_NG_SB: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage403_SB' _links: $ref: '#/components/schemas/_linksAll' Error404_NG_PIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage404_PIS' _links: $ref: '#/components/schemas/_linksAll' Error404_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage404_AIS' _links: $ref: '#/components/schemas/_linksAll' Error404_NG_PIIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage404_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error404_NG_SB: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage404_SB' _links: $ref: '#/components/schemas/_linksAll' Error405_NG_PIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage405_PIS' _links: $ref: '#/components/schemas/_linksAll' Error405_NG_PIS_CANC: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage405_PIS_CANC' _links: $ref: '#/components/schemas/_linksAll' Error405_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage405_AIS' _links: $ref: '#/components/schemas/_linksAll' Error405_NG_PIIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage405_PIIS' _links: $ref: '#/components/schemas/_linksAll' Error405_NG_SB: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage405_SB' _links: $ref: '#/components/schemas/_linksAll' Error406_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage406_AIS' _links: $ref: '#/components/schemas/_linksAll' Error409_NG_PIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage409_PIS' _links: $ref: '#/components/schemas/_linksAll' example: - category: ERROR code: STATUS_INVALID text: additional text information of the ASPSP up to 512 characters Error409_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage409_AIS' _links: $ref: '#/components/schemas/_linksAll' example: - category: ERROR code: STATUS_INVALID text: additional text information of the ASPSP up to 512 characters Error409_NG_PIIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage409_PIIS' _links: $ref: '#/components/schemas/_linksAll' example: - category: ERROR code: STATUS_INVALID text: additional text information of the ASPSP up to 512 characters Error409_NG_SB: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage409_SB' _links: $ref: '#/components/schemas/_linksAll' example: - category: ERROR code: STATUS_INVALID text: additional text information of the ASPSP up to 512 characters Error429_NG_AIS: description: > NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429. type: object properties: tppMessages: type: array items: $ref: '#/components/schemas/tppMessage429_AIS' _links: $ref: '#/components/schemas/_linksAll' example: - category: ERROR code: ACCESS_EXCEEDED text: additional text information of the ASPSP up to 512 characters parameters: responseType: name: response_type in: query required: true schema: type: string enum: - code grantType: name: grant_type in: query required: true schema: type: string enum: - authorization_code authCode: name: code in: query required: true schema: type: string clientPublic: name: client_id in: query required: true schema: type: string clientSecret: name: client_secret in: query required: true schema: type: string scope: name: scope in: query required: true schema: type: string enum: - payments accounts.list - accounts - payments accounts.list accounts redirectUri: name: redirect_uri in: query required: true schema: type: string paymentService: name: payment-service in: path description: | Payment service: Possible values are: * payments required: true schema: type: string enum: - payments paymentProduct: name: payment-product in: path description: > The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers There are plenty of country specificic scheme variants. required: true schema: type: string enum: - sepa-credit-transfers paymentId: name: paymentId in: path description: Resource identification of the generated payment initiation resource. required: true schema: $ref: '#/components/schemas/paymentId' cancellationId: name: cancellationId in: path description: Identification for cancellation resource. required: true schema: $ref: '#/components/schemas/cancellationId' authorisationId: name: authorisationId in: path description: Resource identification of the related SCA. required: true schema: $ref: '#/components/schemas/authorisationId' accountId: name: account-id in: path description: > This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. required: true schema: $ref: '#/components/schemas/accountId' resourceId: name: resourceId in: path description: > This identification is given by the attribute resourceId of the corresponding entry of a transaction list. required: true schema: $ref: '#/components/schemas/resourceId' basketId_PATH: name: basketId in: path description: | This identification of the corresponding signing basket object. required: true schema: $ref: '#/components/schemas/basketId' consentId_PATH: name: consentId in: path description: > ID of the corresponding consent object as returned by an Account Information Consent Request. required: true schema: $ref: '#/components/schemas/consentId' consentId_HEADER_optional: name: Consent-ID in: header description: > This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service. This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. required: false schema: $ref: '#/components/schemas/consentId' consentId_HEADER_mandatory: name: Consent-ID in: header description: > This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. required: true schema: $ref: '#/components/schemas/consentId' withBalanceQuery: name: withBalance in: query description: > If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. required: false schema: type: boolean dateFrom: name: dateFrom in: query description: > Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. required: false schema: type: string format: date dateTo: name: dateTo in: query description: > End date (inclusive the data dateTo) of the transaction list, default is "now" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. required: false schema: type: string format: date entryReferenceFrom: name: entryReferenceFrom in: query description: > This data attribute is indicating that the AISP is in favour to get all transactions after the transaction with identification entryReferenceFrom alternatively to the above defined period. This is a implementation of a delta access. If this data element is contained, the entries "dateFrom" and "dateTo" might be ignored by the ASPSP if a delta report is supported. Optional if supported by API provider. required: false schema: type: string bookingStatus: name: bookingStatus in: query description: | Permitted codes are * "booked", * "pending" and * "both" "booked" shall be supported by the ASPSP. To support the "pending" and "both" feature is optional for the ASPSP, Error code if not supported in the online banking frontend required: true schema: type: string enum: - booked - pending - both deltaList: name: deltaList in: query description: >- This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report. This delta indicator might be rejected by the ASPSP if this function is not supported. Optional if supported by API provider schema: type: boolean X-Request-ID: name: X-Request-ID in: header description: >- ID of the request, unique to the call, as determined by the initiating party. required: true example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 schema: type: string format: uuid Digest: name: Digest in: header description: >- Is contained if and only if the "Signature" element is contained in the header of the request. schema: type: string required: false example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A= Signature: name: Signature in: header description: > A signature of the request by the TPP on application level. This might be mandated by ASPSP. schema: type: string required: false example: > keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))" TPP-Signature-Certificate: name: TPP-Signature-Certificate in: header description: | The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. schema: type: string format: byte required: false TPP-Redirect-Preferred: name: TPP-Redirect-Preferred in: header description: > If it equals "true", the TPP prefers a redirect over an embedded SCA approach. If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU. schema: type: string enum: - 'true' - 'false' required: false TPP-Redirect-URI: name: TPP-Redirect-URI in: header description: > URI of the TPP, where the transaction flow shall be redirected to after a Redirect. Mandated for the Redirect SCA Approach (including OAuth2 SCA approach), specifically when TPP-Redirect-Preferred equals "true". It is recommended to always use this header field. **Remark for Future:** This field might be changed to mandatory in the next version of the specification. schema: type: string format: uri required: false TPP-Nok-Redirect-URI: name: TPP-Nok-Redirect-URI in: header description: > If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP. schema: type: string format: uri required: false TPP-Explicit-Authorisation-Preferred: name: TPP-Explicit-Authorisation-Preferred in: header description: > If it equals "true", the TPP prefers to start the authorisation process separately, e.g. because of the usage of a signing basket. This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality. If it equals "false" or if the parameter is not used, there is no preference of the TPP. This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, without using a signing basket. schema: type: string enum: - 'true' - 'false' required: false PSU-ID: name: PSU-ID in: header description: > Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. schema: type: string required: false example: PSU-1234 PSU-ID-Type: name: PSU-ID-Type in: header description: > Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. schema: type: string required: false PSU-Corporate-ID: name: PSU-Corporate-ID in: header description: > Might be mandated in the ASPSP's documentation. Only used in a corporate context. schema: type: string required: false PSU-Corporate-ID-Type: name: PSU-Corporate-ID-Type in: header description: > Might be mandated in the ASPSP's documentation. Only used in a corporate context. schema: type: string required: false PSU-IP-Address_mandatory: name: PSU-IP-Address in: header description: > The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. schema: type: string format: ipv4 required: true example: 192.168.8.78 PSU-IP-Address_optional: name: PSU-IP-Address in: header description: > The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. schema: type: string format: ipv4 required: false example: 192.168.8.78 PSU-IP-Address_conditionalForAis: name: PSU-IP-Address in: header description: > The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. schema: type: string format: ipv4 required: false example: 192.168.8.78 PSU-IP-Port: name: PSU-IP-Port in: header description: > The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. schema: type: string required: false example: '1234' PSU-Accept: name: PSU-Accept in: header description: > The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. schema: type: string required: false PSU-Accept-Charset: name: PSU-Accept-Charset in: header description: > The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. schema: type: string required: false PSU-Accept-Encoding: name: PSU-Accept-Encoding in: header description: > The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. schema: type: string required: false PSU-Accept-Language: name: PSU-Accept-Language in: header description: > The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. schema: type: string required: false PSU-User-Agent: name: PSU-User-Agent in: header description: > The forwarded Agent header field of the HTTP request between PSU and TPP, if available. schema: type: string required: false PSU-Http-Method: name: PSU-Http-Method in: header description: | HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE schema: type: string enum: - GET - POST - PUT - PATCH - DELETE required: false PSU-Device-ID: name: PSU-Device-ID in: header description: > UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. schema: type: string format: uuid required: false example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555 PSU-Geo-Location: name: PSU-Geo-Location in: header description: > The forwarded Geo Location of the corresponding http request between PSU and TPP if available. schema: type: string pattern: '(GEO:)[0-9]{1,3}\.[-][0-9]{6}\,[-][0-9]{1,3}\.[0-9]{6}' required: false example: 'GEO:52.506931,13.144558' requestBodies: paymentInitiation: description: > JSON request body for a payment inition request message There are the following payment-products supported: * "sepa-credit-transfers" with JSON-Body There are the following payment-services supported: * "payments" All optional, conditional and predefined but not yet used fields are defined. required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/paymentInitiationSct_json' - $ref: '#/components/schemas/paymentInitiationSctInst_json' - $ref: '#/components/schemas/paymentInitiationTarget2_json' - $ref: '#/components/schemas/paymentInitiationCrossBorder_json' - $ref: '#/components/schemas/periodicPaymentInitiationSct_json' - $ref: '#/components/schemas/periodicPaymentInitiationSctInst_json' - $ref: '#/components/schemas/periodicPaymentInitiationTarget2_json' - $ref: '#/components/schemas/periodicPaymentInitiationCrossBorder_json' - $ref: '#/components/schemas/bulkPaymentInitiationSct_json' - $ref: '#/components/schemas/bulkPaymentInitiationSctInst_json' - $ref: '#/components/schemas/bulkPaymentInitiationTarget2_json' - $ref: '#/components/schemas/bulkPaymentInitiationCrossBorder_json' examples: 'Example 1: ''payments'' - ''sepa-credit-transfers''': $ref: '#/components/examples/paymentInitiationSctBody_payments_json' signingBasket: description: > Request body for a confirmation of an establishing signing basket request content: application/json: schema: $ref: '#/components/schemas/signingBasket' examples: Example: $ref: '#/components/examples/signingBasketExample' consents: description: | Requestbody for a consents request content: application/json: schema: $ref: '#/components/schemas/consents' examples: Consent Request on Dedicated Accounts: $ref: '#/components/examples/consentsExample_DedicatedAccounts' Consent on Account List of Available Accounts: $ref: '#/components/examples/consentsExample_AccountList' headers: X-Request-ID: description: >- ID of the request, unique to the call, as determined by the initiating party. required: true example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 schema: type: string format: uuid ASPSP-SCA-Approach: description: > This data element must be contained, if the SCA Approach is already fixed. Possible values are * EMBEDDED * DECOUPLED * REDIRECT The OAuth SCA approach will be subsumed by REDIRECT. schema: type: string enum: - EMBEDDED - DECOUPLED - REDIRECT example: EMBEDDED required: false Location: description: | Location of the created resource. schema: type: string format: url required: false responses: OK_200_PaymentInitiationInformation: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/paymentInitiationSctWithStatusResponse' OK_200_PaymentInitiationStatus: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/paymentInitiationStatusResponse-200_json' examples: simple: $ref: >- #/components/examples/paymentInitiationStatusResponse_json_Simple OK_200_Authorisations: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/authorisations' examples: Example: $ref: '#/components/examples/authorisationListExample' OK_200_ScaStatus: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/scaStatusResponse' OK_200_AccountList: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/accountList' examples: Example 1: $ref: '#/components/examples/accountListExample1' OK_200_AccountListWithoutConsent: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/accountListWithoutConsent' examples: Example 1: $ref: '#/components/examples/accountListWithoutConsentExample1' OK_200_CancellationList: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/cancellationList' examples: Example 1: $ref: '#/components/examples/cancellationListExample' OK_200_AccountDetails: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/accountDetails' examples: Regular Account: $ref: '#/components/examples/accountDetailsRegularAccount' OK_200_TransactionDetails: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/transactionDetails' examples: Example: $ref: '#/components/examples/transactionDetailsExample' OK_200_Balances: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/readAccountBalanceResponse-200' examples: 'Example 1: Regular Account': $ref: '#/components/examples/balancesExample1_RegularAccount' OK_200_AccountsTransactions: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/transactionsResponse-200_json' examples: Example 1: $ref: '#/components/examples/transactionsExample1_RegularAccount_json' OK_200_CardAccountsTransactions: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/cardAccountsTransactionsResponse200' OK_200_ConsentInformation: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/consentInformationResponse-200_json' examples: Example: $ref: '#/components/examples/consentsInformationResponseExample' OK_200_ConsentStatus: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/consentStatusResponse-200' examples: Example: $ref: '#/components/examples/consentStatusResponseExample1' OK_200_UpdatePsuData: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' ASPSP-SCA-Approach: $ref: '#/components/headers/ASPSP-SCA-Approach' content: application/json: schema: oneOf: - $ref: '#/components/schemas/updatePsuIdenticationResponse' - $ref: '#/components/schemas/updatePsuAuthenticationResponse' - $ref: '#/components/schemas/selectPsuAuthenticationMethodResponse' - $ref: '#/components/schemas/scaStatusResponse' examples: Update PSU Identification - Payment Initiation (Decoupled Approach): $ref: >- #/components/examples/updatePsuIdentificationResponseExample_Decoupled_payments Update PSU Authentication - Payment Initiation (Embedded Approach): $ref: >- #/components/examples/updatePsuAuthenticationResponseExample_Embedded_payments Select PSU Authentication - Payment Initiation Method (Embedded Approach): $ref: >- #/components/examples/selectPsuAuthenticationMethodResponseExample_Embedded_payments Transaction Authorisation (Embedded Approach): $ref: '#/components/examples/transactionAuthorisationResponseExample' CREATED_201_PaymentInitiation: description: CREATED headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' Location: $ref: '#/components/headers/Location' ASPSP-SCA-Approach: $ref: '#/components/headers/ASPSP-SCA-Approach' content: application/json: schema: oneOf: - $ref: '#/components/schemas/paymentInitationRequestResponse-201' - $ref: >- #/components/schemas/paymentInitationRequestMultiLevelScaResponse-201 examples: Response in case of a redirect with an implicitly created authorisation sub-resource: $ref: '#/components/examples/paymentInitiationExample_json_Redirect' CREATED_200_AccessToken: description: CREATED content: application/json: examples: Response: $ref: '#/components/examples/accessTokenSuccessResponse200' CREATED_200_AuthCode: description: redirected to redirectUri CREATED_201_StartScaProcess: description: Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' ASPSP-SCA-Approach: $ref: '#/components/headers/ASPSP-SCA-Approach' content: application/json: schema: $ref: '#/components/schemas/startScaprocessResponse' examples: 'Example 1: payments - Decoupled Approach': $ref: '#/components/examples/startScaProcessResponseExample1' CREATED_201_Consents: description: Created headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' ASPSP-SCA-Approach: $ref: '#/components/headers/ASPSP-SCA-Approach' content: application/json: schema: $ref: '#/components/schemas/consentsResponse-201' examples: Response in case of a redirect: $ref: '#/components/examples/consentResponseExample1a_Redirect' RECEIVED_202_PaymentInitiationCancel: description: Received headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/paymentInitiationCancelResponse-204_202' examples: Example: $ref: '#/components/examples/paymentInitiationCancelResponse-202' NO_CONTENT_204_PaymentInitiationCancel: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/paymentInitiationCancelResponse-204_202' examples: Example: $ref: '#/components/examples/paymentInitiationCancelResponse-204_202' NO_CONTENT_204_Consents: description: No Content headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' BAD_REQUEST_400_AIS: description: Bad Request headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error400_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error400_AIS' BAD_REQUEST_400_PIS: description: Bad Request headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error400_NG_PIS' application/problem+json: schema: $ref: '#/components/schemas/Error400_PIS' BAD_REQUEST_400_PIIS: description: Bad Request headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error400_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error400_AIS' BAD_REQUEST_400_SB: description: Bad Request headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error400_NG_SB' application/problem+json: schema: $ref: '#/components/schemas/Error400_SB' UNAUTHORIZED_401_PIS: description: Unauthorized headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error401_NG_PIS' application/problem+json: schema: $ref: '#/components/schemas/Error401_PIS' UNAUTHORIZED_401_AIS: description: Unauthorized headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error401_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error401_AIS' UNAUTHORIZED_401_PIIS: description: Unauthorized headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error401_NG_PIIS' application/problem+json: schema: $ref: '#/components/schemas/Error401_PIIS' UNAUTHORIZED_401_SB: description: Unauthorized headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error401_NG_SB' application/problem+json: schema: $ref: '#/components/schemas/Error401_SB' FORBIDDEN_403_PIS: description: Forbidden headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error403_NG_PIS' application/problem+json: schema: $ref: '#/components/schemas/Error403_PIS' FORBIDDEN_403_AIS: description: Forbidden headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error403_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error403_AIS' FORBIDDEN_403_PIIS: description: Forbidden headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error403_NG_PIIS' application/problem+json: schema: $ref: '#/components/schemas/Error403_PIIS' FORBIDDEN_403_SB: description: Forbidden headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error403_NG_SB' application/problem+json: schema: $ref: '#/components/schemas/Error403_SB' NOT_FOUND_404_PIS: description: Not found headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error404_NG_PIS' application/problem+json: schema: $ref: '#/components/schemas/Error404_PIS' NOT_FOUND_404_AIS: description: Not found headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error404_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error404_AIS' NOT_FOUND_404_PIIS: description: Not found headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error404_NG_PIIS' application/problem+json: schema: $ref: '#/components/schemas/Error404_PIIS' NOT_FOUND_404_SB: description: Not found headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error404_NG_SB' application/problem+json: schema: $ref: '#/components/schemas/Error404_SB' METHOD_NOT_ALLOWED_405_PIS: description: Method Not Allowed headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error405_NG_PIS' application/problem+json: schema: $ref: '#/components/schemas/Error405_PIS' METHOD_NOT_ALLOWED_405_PIS_CANC: description: Method Not Allowed headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error405_NG_PIS_CANC' application/problem+json: schema: $ref: '#/components/schemas/Error405_PIS_CANC' METHOD_NOT_ALLOWED_405_AIS: description: Method Not Allowed headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error405_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error405_AIS' METHOD_NOT_ALLOWED_405_PIIS: description: Method Not Allowed headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error405_NG_PIIS' application/problem+json: schema: $ref: '#/components/schemas/Error405_PIIS' METHOD_NOT_ALLOWED_405_SB: description: Method Not Allowed headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error405_NG_SB' application/problem+json: schema: $ref: '#/components/schemas/Error405_SB' NOT_ACCEPTABLE_406_PIS: description: Not Acceptable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' NOT_ACCEPTABLE_406_AIS: description: Not Acceptable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error406_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error406_AIS' NOT_ACCEPTABLE_406_PIIS: description: Not Acceptable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' NOT_ACCEPTABLE_406_SB: description: Not Acceptable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' REQUEST_TIMEOUT_408_PIS: description: Request Timeout headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' REQUEST_TIMEOUT_408_AIS: description: Request Timeout headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' REQUEST_TIMEOUT_408_PIIS: description: Request Timeout headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' REQUEST_TIMEOUT_408_SB: description: Request Timeout headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' CONFLICT_409_PIS: description: Conflict headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error409_NG_PIS' application/problem+json: schema: $ref: '#/components/schemas/Error409_PIS' CONFLICT_409_AIS: description: Conflict headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error409_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error409_AIS' CONFLICT_409_PIIS: description: Conflict headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error409_NG_PIIS' application/problem+json: schema: $ref: '#/components/schemas/Error409_PIIS' CONFLICT_409_SB: description: Conflict headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error409_NG_SB' application/problem+json: schema: $ref: '#/components/schemas/Error409_SB' UNSUPPORTED_MEDIA_TYPE_415_AIS: description: Unsupported Media Type headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' UNSUPPORTED_MEDIA_TYPE_415_PIS: description: Unsupported Media Type headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' UNSUPPORTED_MEDIA_TYPE_415_PIIS: description: Unsupported Media Type headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' UNSUPPORTED_MEDIA_TYPE_415_SB: description: Unsupported Media Type headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' TOO_MANY_REQUESTS_429_PIS: description: Too Many Requests headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' TOO_MANY_REQUESTS_429_AIS: description: Too Many Requests headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Error429_NG_AIS' application/problem+json: schema: $ref: '#/components/schemas/Error429_AIS' TOO_MANY_REQUESTS_429_PIIS: description: Too Many Requests headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' TOO_MANY_REQUESTS_429_SB: description: Too Many Requests headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' INTERNAL_SERVER_ERROR_500_PIS: description: Internal Server Error headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' INTERNAL_SERVER_ERROR_500_AIS: description: Internal Server Error headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' INTERNAL_SERVER_ERROR_500_PIIS: description: Internal Server Error headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' INTERNAL_SERVER_ERROR_500_SB: description: Internal Server Error headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' SERVICE_UNAVAILABLE_503_PIS: description: Service Unavailable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' SERVICE_UNAVAILABLE_503_AIS: description: Service Unavailable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' SERVICE_UNAVAILABLE_503_PIIS: description: Service Unavailable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' SERVICE_UNAVAILABLE_503_SB: description: Service Unavailable headers: Location: $ref: '#/components/headers/Location' X-Request-ID: $ref: '#/components/headers/X-Request-ID' examples: ibanExampleDe_01: value: DE02100100109307118603 ibanExampleDe_02: value: DE23100120020123456789 ibanExampleDe_03: value: DE40100100103307118608 ibanExampleDe_04: value: DE67100100101306118605 ibanExampleDe_05: value: DE87200500001234567890 ibanExampleFr_01: value: FR7612345987650123456789014 ibanExampleNl_01: value: NL76RABO0359400371 ibanExampleSe_01: value: SE9412309876543211234567 maskedPanExample: value: 123456xxxxxx1234 uuidExample: value: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 pain.001.001_SCT_singleTransaction: description: A pain.001.001.03 message in case of SCT value: | MIPI-123456789RI-123456789 2017-02-14T20:23:34.000Z 1 123 PaymentInitiator DE10000000012 PISP BIPI-123456789RI-123456789 TRF 1 123 SEPA 2017-02-15 PSU Name DE87200500001234567890 SLEV RI-123456789 123 Merchant123 DE23100120020123456789 Ref Number Merchant-123456 pain.002.001_SCT_singleTransaction: description: A pain.002.001.03 message in case of SCT value: | 4572457256725689726906 2017-02-14T20:24:56.021Z ABCDDEFF DCBADEFF MIPI-123456789RI-123456789 pain.001.001.03 2017-02-14T20:23:34.000Z 1 123 ACCT BIPI-123456789RI-123456789 1 123 ACCT paymentInitiationSctBody_payments_json: value: instructedAmount: currency: EUR amount: '123.50' debtorAccount: iban: DE40100100103307118608 creditorName: Merchant123 creditorAccount: iban: DE02100100109307118603 remittanceInformationUnstructured: Ref Number Merchant paymentInitiationSctBody_periodic-payments_json: value: instructedAmount: currency: EUR amount: '123' debtorAccount: iban: DE40100100103307118608 creditorName: Merchant123 creditorAccount: iban: DE23100120020123456789 remittanceInformationUnstructured: Ref Number Abonnement startDate: '2018-03-01' executionRule: latest frequency: monthly dayOfExecution: '01' paymentInitiationSctBody_bulk-payments_json: value: batchBookingPreferred: 'true' debtorAccount: iban: DE40100100103307118608 requestedExecutionDate: '2018-08-01' payments: - instructedAmount": currency: EUR amount: '123.50' creditorName: Merchant123 creditorAccount: iban: DE02100100109307118603 remittanceInformationUnstructured: Ref Number Merchant 1 - instructedAmount": currency: EUR amount: '34.10' creditorName: Merchant456 creditorAccount: iban: FR7612345987650123456789014 remittanceInformationUnstructured: Ref Number Merchant 2 accountDetailsRegularAccount: description: Account Details for a regular Account value: account: resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f iban: FR7612345987650123456789014 currency: EUR product: Girokonto cashAccountType: CACC name: Main Account _links: balances: href: https://psd2.ob-api.neofinance.com/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances transactions: href: https://psd2.ob-api.neofinance.com/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions accountListExample1: summary: Account list Example 1 description: >- Response in case of an example, where the consent has been given on two different IBANs value: accounts: - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f iban: DE2310010010123456789 currency: EUR product: Girokonto cashAccountType: CACC name: Main Account _links: balances: href: https://psd2.ob-api.neofinance.com/api/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances transactions: href: https://psd2.ob-api.neofinance.com/api/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g iban: DE2310010010123456788 currency: USD product: Fremdw?hrungskonto cashAccountType: CACC name: US Dollar Account _links: balances: href: https://psd2.ob-api.neofinance.com/api/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances accountListWithoutConsentExample1: summary: Account list Example 1 description: >- Response in case of an example, where the consent has been given on two different IBANs value: accounts: - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f iban: DE2310010010123456789 currency: EUR name: Main Account status: enabled - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g iban: DE2310010010123456788 currency: EUR name: Secondary status: enabled startScaProcessResponseExample1: value: scaStatus: received psuMessage: Please use your BankApp for transaction Authorisation. _links: scaStatus: href: https://psd2.ob-api.neofinance.com/api/v1/payments/qwer3456tzui7890/authorisations/123auth456 signingBasketExample: description: JSON Body of a signing basket request value: paymentIds: - 123qwert456789 - 12345qwert7899 createSigningBasketResponseExample1: description: Response (always with explicit authorisation start) value: transactionStatus: RCVD basketId: 1234-basket-567 _links: self: href: /v1/signing-baskets/1234-basket-567 status: href: /v1/signing-baskets/1234-basket-567/status startAuthorisation: href: /v1/signing-baskets/1234-basket-567/authorisations getSigningBasketResponseExample1: value: payments: - 1234pay567 - 1234pay568 - 1234pay888 transactionStatus: ACTC consentsExample_DedicatedAccounts: description: Consent request on dedicated accounts value: access: balances: - iban: DE40100100103307118608 - iban: DE02100100109307118603 currency: USD - iban: DE67100100101306118605 transactions: - iban: DE40100100103307118608 - maskedPan: 123456xxxxxx1234 recurringIndicator: 'true' validUntil: '2017-11-01' frequencyPerDay: '4' consentsExample_AccountList: description: Consent on Account List of Available Accounts value: access: availableAccounts: allAccounts recurringIndicator: 'false' validUntil: '2017-08-06' frequencyPerDay: '1' consentsExample_without_Accounts: description: Consent request on account list or without indication of accounts value: access: balances: [] transactions: [] recurringIndicator: 'true' validUntil: '2017-11-01' frequencyPerDay: '4' updatePsuAuthenticationExample_Embedded: description: Update PSU Authentication request body for the embedded approach. value: psuData: password: start12 selectPsuAuthenticationMethodExample_Embedded: description: Select PSU Authentication Method request body for the embedded approach. value: authenticationMethodId: myAuthenticationID transactionAuthorisationExample_Embedded: description: Transaction Authorisation request body for the embedded approach. value: scaAuthenticationData: '123456' consentsInformationResponseExample: description: Consent request on account list or without indication of accounts value: access: balances: - iban: DE2310010010123456789 transactions: - iban: DE2310010010123456789 - pan: 123456xxxxxx3457 recurringIndicator: 'true' validUntil: '2017-11-01' frequencyPerDay: '4' consentStatus: valid _links: account: href: /v1/accounts consentResponseExample1a_Redirect: description: Consent request Response in case of a redirect value: consentStatus: received consentId: 1234-wertiq-983 _links: scaRedirect: href: 'https://www.testbank.com/authentication/1234-wertiq-983' status: href: /v1/consents/1234-wertiq-983/status scaStatus: href: v1/consents/1234-wertiq-983/authorisations/123auth567 accessTokenSuccessResponse200: description: Access token returned value: access_token: YzE3ZTk5YTMzMzdmODRhZmQ1ZGNmYTJmNGQyY2IwYzc1MTlhYjkyZTM2NjZkOWRkM2M2MjYzMWM4N2IyZDdlYg expires_in: 31556952 token_type: bearer scope: payments refresh_token: OWU1ZmEzYWVjNjk3ODFlZjRkN2ZlNTZiYWI5ZmQ4YmRmNGY3OGYzMzdjNjg3N2Q2ZGIxMTI0YTQzMzJjZDk4NQ consentResponseExample1b_Redirect: description: >- Consent request Response in case of a redirect with a dedicated start of the authorisation process value: consentStatus: received consentId: 1234-wertiq-983 _links: startAuthorisation: href: v1/consents/1234-wertiq-983/authorisations consentResponseExample2_OAuth2: description: >- Response in case of the OAuth2 approach with an implicit generated authorisation resource value: consentStatus: received consentId: 1234-wertiq-983 _links: self: href: /v1/consents/1234-wertiq-983 scaStatus: href: v1/consents/1234-wertiq-983/authorisations/123auth567 scaOAuth: href: >- https://www.testbank.com/oauth/.well-known/oauth-authorization-server consentResponseExample3_Decoupled: description: Response in case of the decoupled approach value: consentStatus: received consentId: 1234-wertiq-983 _links: startAuthorisationWithPsuIdentification: href: /v1/consents/1234-wertiq-983/authorisations consentResponseExample4_Embedded: description: Response in case of the embedded approach value: consentStatus: received consentId: 1234-wertiq-983 _links: startAuthorisationWithPsuAuthentication: href: /v1/consents/1234-wertiq-983/authorisations consentStatusResponseExample1: description: Response for a consent status request. value: consentStatus: valid paymentInitiationExample_json_Redirect: description: >- Response in case of a redirect with an implicitly created authorisation sub-resource value: transactionStatus: RCVD paymentId: 1234-wertiq-983 _links: scaRedirect: href: 'https://www.testbank.com/asdfasdfasdf' self: href: https://psd2.ob-api.neofinance.com/api/v1/payments/sepa-credit-transfers/1234-wertiq-983 status: href: https://psd2.ob-api.neofinance.com/api/v1/payments/1234-wertiq-983/status scaStatus: href: https://psd2.ob-api.neofinance.com/api/v1/payments/1234-wertiq-983/authorisations/123auth456 paymentInitiationExample_json__RedirectExplicitAuthorisation: description: Response in case of a redirect with an explicit authorisation start value: transactionStatus: RCVD paymentId: 1234-wertiq-983 _links: self: href: https://psd2.ob-api.neofinance.com/v1/payments/1234-wertiq-983 status: href: https://psd2.ob-api.neofinance.com/v1/payments/1234-wertiq-983/status startAuthorisation: href: https://psd2.ob-api.neofinance.com/v1/payments1234-wertiq-983/authorisations paymentInitiationExample_json_OAuth2: description: >- Response in case of an OAuth2 SCA approach approach with implicitly creating an authorisation sub-resource value: transactionStatus: RCVD paymentId: 1234-wertiq-983 _links: scaOAuth: href: >- https://www.testbank.com/oauth/.well-known/oauth-authorization-server self: href: /v1/payments/1234-wertiq-983 status: href: /v1/payments/1234-wertiq-983/status scaStatus: href: /v1/payments/1234-wertiq-983/authorisations/123auth456 paymentInitiationExample_json_Decoupled: description: >- Response in case of the decoupled approach with explicit start of authorisation needed value: transactionStatus: RCVD paymentId: 1234-wertiq-983 _links: startAuthorisationWithPsuIdentification: href: /v1/payments/1234-wertiq-983/authorisations self: href: /v1/payments/1234-wertiq-983 paymentInitiationExample_json_Embedded: description: >- Response in case of the embedded approach with explicit start of authorisation value: transactionStatus: RCVD paymentId: 1234-wertiq-983 _links: startAuthenticationWithPsuAuthentication: href: /v1/payments/1234-wertiq-983/authorisations self: href: /v1/payments/1234-wertiq-983 paymentInitiationStatusResponse_json_Simple: value: transactionStatus: ACCP paymentInitiationCancelResponse-204_202: value: transactionStatus: CANC paymentInitiationCancelResponse-202: value: transactionStatus: ACTC _links: self: href: /v1/payments/123456scheduled789 status: href: /v1/payments/123456scheduled789/status startAuthorisation: href: /v1/payments/123456scheduled789/cancellation-authorisations paymentInitiationStatusResponse_json_Extended: value: | { "transactionStatus": "ACCP", "scaStatus": "Some SCA Status" } updatePsuIdentificationResponseExample_Decoupled_payments: description: >- Response of an Update PSU Identification for a payment initiation request for the decoupled approach. value: scatransactionStatus: psuIdentified psuMessage: Please use your BankApp for transaction Authorisation. _links: scaStatus: href: /v1/payments/qwer3456tzui7890/authorisations/123auth456 updatePsuAuthenticationResponseExample_Embedded_payments: description: >- Response of an Update PSU Authentication for a consent request for the embedded approach. value: scaStatus: psuAuthenticated _links: authoriseTransaction: href: /v1/payments/1234-wertiq-983/authorisations/123auth456 selectPsuAuthenticationMethodResponseExample_Embedded_payments: description: >- Response of a Select PSU Authentication Method payment initiation request for the embedded approach value: scaStatus: scaMethodSelected chosenScaMethod: authenticationType: SMS_OTP authenticationMethodId: myAuthenticationID challengeData: otpMaxLength: '6' otpFormat: integer _links: authoriseTransaction: href: /v1/payments/1234-wertiq-983/authorisations/123auth456 transactionAuthorisationResponseExample: description: >- Response of a Transaction Authorisation request for the embedded approach. value: scaStatus: finalised balancesExample1_RegularAccount: description: Response for a read balance request in case of a regular account. value: account: iban: FR7612345987650123456789014 balances: - balanceType: closingBooked balanceAmount: currency: EUR amount: '500.00' referenceDate: '2017-10-25' - balanceType: expected balanceAmount: currency: EUR amount: '900.00' lastChangeDateTime: '2017-10-25T15:30:35.035Z' transactionsExample1_RegularAccount_json: description: Response in JSON format for an access on a regular account value: account: iban: DE2310010010123456788 transactions: booked: - transactionId: '1234567' creditorName: John Miles creditorAccount: iban: DE67100100101306118605 transactionAmount: currency: EUR amount: '256.67' bookingDate: '2017-10-25' valueDate: '2017-10-26' remittanceInformationUnstructured: Example 1 - transactionId: '1234568' debtorName: Paul Simpson debtorAccount: iban: NL76RABO0359400371 transactionAmount: currency: EUR amount: '343.01' bookingDate: '2017-10-25' valueDate: '2017-10-26' remittanceInformationUnstructured: Example 2 pending: - transactionId: '1234569' creditorName: Claude Renault creditorAccount: iban: FR7612345987650123456789014 transactionAmount: currency: EUR amount: '-100.03' valueDate: '2017-10-26' remittanceInformationUnstructured: Example 3 _links: account: href: https://psd2.ob-api.neofinance.com/api/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f transactionDetailsExample: description: Example for transaction details value: transactionsDetails: transactionId: '1234567' creditorName: John Miles creditorAccount: iban: DE67100100101306118605 mandateId: Mandate-2018-04-20-1234 transactionAmount: currency: EUR amount: '-256.67' bookingDate: '2017-10-25' valueDate: '2017-10-26' remittanceInformationUnstructured: Example 1 bankTransactionCode: PMNT-RCVD-ESDD authorisationListExample: value: authorisationIds: - 123auth456 cancellationListExample: value: cancellationIds: - 123auth456 security: - {} tags: - name: Authorisation description: | Authorisation urls to get token - name: Payment Initiation Service (PIS) description: > The Decription for Payment Initiation Service (PIS) offers the following services: * Initiation and update of a payment request * Status information of a payment - name: Account Information Service (AIS) description: | 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 - name: Accounts List (accounts.list) description: | Accounts list without balances