openapi: 3.0.1 info: title: NextGenPSD2 XS2A Framework by Consorsbank, BNP Paribas Wealth Management - Private Banking and DAB BNP Paribas version: "1.3.6_2020-08-14 (last updated for BNP May 20th 2021)" description: | # Summary The **NextGenPSD2** *Framework Version 1.3.4* offers a modern, open, harmonised and interoperable set of Application Programming Interfaces (APIs) as the safest and most efficient way to provide data securely. The NextGenPSD2 Framework reduces XS2A complexity and costs, addresses the problem of multiple competing standards in Europe and, aligned with the goals of the Euro Retail Payments Board, enables European banking customers to benefit from innovative products and services ('Banking as a Service') by granting TPPs safe and secure (authenticated and authorised) access to their bank accounts and financial data. The possible aproach offered by Consorsbank, BNP Paribas Wealth Management - Private Banking and DAB BNP Paribas is: * Redirect SCA Approach * Decoupled SCA Approach **Please have a look at the implementation guidelines if you are not sure which message has to be used for the approach you are going to use.** ## Some General Remarks Related to this version of the OpenAPI Specification: * **This API definition is based on the Implementation Guidelines of the Berlin Group PSD2 API.** It is not an replacement in any sense. The main specification is (at the moment) always the Implementation Guidelines of the Berlin Group PSD2 API. * **This API definition contains the REST-API for requests from the PISP, AISP and PIISP to the ASPSP.** * **This API definition contains the messages for all different approaches defined in the Implementation Guidelines.** * Consult the OpenAPI-Specification [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md] for details related to Parameter Objects ## Consorsbank, BNP Paribas Wealth Management - Private Banking and DAB BNP Paribas Contacts * Consorsbank: [https://www.consorsbank.de/service-beratung/xs2a/] [mailto: xs2a@consorsbank.de] * BNP Paribas Wealth Management - Private Banking: [https://www.consorsbank.de/service-beratung/xs2a/] [mailto: xs2a.privatebanking@de.bnpparibas.com] * DAB BNP Paribas : [https://b2b.dab-bank.de/xs2a/] [mailto: xs2a@dab.com] ## General Remarks on Data Types The Berlin Group definition of UTF-8 strings in context of the PSD2 API have to support at least the following characters a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 / - ? : ( ) . , ' + Space license: name: Creative Commons Attribution 4.0 International Public License url: https://creativecommons.org/licenses/by/4.0/ #termsOfService: URL for Terms of Service of the API contact: name: The Berlin Group - A European Standards Initiative url: https://www.berlin-group.org/ email: info@berlin-group.org externalDocs: description: | Full Documentation of NextGenPSD2 Access to Account Interoperability Framework (General Introduction Paper, Operational Rules, Implementation Guidelines) url: https://www.berlin-group.org/nextgenpsd2-downloads servers: - url: https://xs2a-sndbx.consorsbank.de description: Consorsbank and BNP Paribas Wealth Management - Private Banking XS2A Sandbox Server (valid from 14MAR2019) - url: https://xs2a.consorsbank.de description: Consorsbank and BNP Paribas Wealth Management - Private Banking XS2A Production Server (valid from 14JUN2019) - url: https://xs2a-sndbx.dab-bank.de description: DAB BNP Paribas XS2A Sandbox Server (valid from 14MAR2019) - url: https://xs2a.dab-bank.de description: DAB BNP Paribas XS2A Production Server (valid from 14JUN2019) paths: ##################################################### # Payment Information Service ##################################################### /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 a JSON body. There are the following **payment products**: - Payment products with payment information in *JSON* format: - sepa-credit-transfers - cross-border-credit-transfers Furthermore the request body depends on the **payment-service** * payments: A single payment initiation request. * periodic-payments (Consorsbank only): Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body. This is the first step in the API to initiate the related recurring/periodic payment. operationId: initiatePayment tags: - Payment Initiation Service (PIS) parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/PSU-IP-Address_mandatory" - $ref: "#/components/parameters/TPP-Redirect-URI" - $ref: "#/components/parameters/TPP-Nok-Redirect-URI" - $ref: '#/components/parameters/PSU-Device-ID' #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /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) parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" delete: summary: Payment Cancellation Request description: | This method initiates the cancellation of a payment. Depending on the payment-service, the payment-product and the ASPSP's implementation, this TPP call might be sufficient to cancel a payment. If an authorisation of the payment cancellation is mandated by the ASPSP, a corresponding hyperlink will be contained in the response message. Cancels the addressed payment with resource identification paymentId if applicable to the payment-service, payment-product and received in product related timelines (e.g. before end of business day for scheduled payments of the last business day before the scheduled execution day). The response to this DELETE command will tell the TPP whether the * access method was rejected * access method was successful, or * access method is generally applicable, but further authorisation processes are needed. operationId: cancelPayment tags: - Payment Initiation Service (PIS) parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" - $ref: '#/components/parameters/PSU-Device-ID' #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY responses: '204': $ref: "#/components/responses/NO_CONTENT_204_PaymentInitiationCancel" #If the DELETE is sufficient for cancelling the payment '202': $ref: "#/components/responses/RECEIVED_202_PaymentInitiationCancel" #If the DELETE is not sufficient for cancelling the payment since an authorisation of the cancellation by the PSU is needed. '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_CANC" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_PIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_PIS" '409': $ref: "#/components/responses/CONFLICT_409_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" /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) parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" - $ref: "#/components/parameters/accept_HEADER_application-json" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /v1/{payment-service}/{payment-product}/{paymentId}/authorisations: 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) - Common Services parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /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) - Common Services parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" - $ref: "#/components/parameters/authorisationId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations: post: summary: Start the authorisation process for the cancellation of the addressed payment description: | Creates an authorisation sub-resource and start the authorisation process of the cancellation of the addressed payment. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. operationId: startPaymentInitiationCancellationAuthorisation tags: - Payment Initiation Service (PIS) - Common Services parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/TPP-Redirect-URI" - $ref: "#/components/parameters/TPP-Nok-Redirect-URI" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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: Will deliver an array of resource identifications to all generated cancellation authorisation sub-resources. description: | Retrieve a list of all created cancellation authorisation sub-resources. operationId: getPaymentInitiationCancellationAuthorisationInformation tags: - Payment Initiation Service (PIS) parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_CancellationList" '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" '409': $ref: "#/components/responses/CONFLICT_409_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" /v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations/{cancellationId}: get: summary: Read the SCA status of the payment cancellation's authorisation. description: | This method returns the SCA status of a payment initiation's authorisation sub-resource. operationId: getPaymentCancellationScaStatus tags: - Payment Initiation Service (PIS) - Common Services parameters: #path - $ref: "#/components/parameters/paymentService" - $ref: "#/components/parameters/paymentProduct" - $ref: "#/components/parameters/paymentId" - $ref: "#/components/parameters/cancellationId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" ##################################################### # Account Information Service ##################################################### ##################################################### # Accounts ##################################################### /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. 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. operationId: getAccountList tags: - Account Information Service (AIS) parameters: #path # NO PATH PARAMETER #query - $ref: "#/components/parameters/withBalanceQuery" #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /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. operationId: readAccountDetails tags: - Account Information Service (AIS) parameters: #path - $ref: "#/components/parameters/accountId" #query - $ref: "#/components/parameters/withBalanceQuery" #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /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 is a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the "GET Account List" call. The account-id is constant at least throughout the lifecycle of a given consent. operationId: getBalances tags: - Account Information Service (AIS) parameters: #path - $ref: "#/components/parameters/accountId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /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) parameters: #path - $ref: "#/components/parameters/accountId" #query - $ref: "#/components/parameters/dateFrom" - $ref: "#/components/parameters/dateTo" - $ref: "#/components/parameters/bookingStatus" - $ref: "#/components/parameters/withBalanceQuery" - $ref: "#/components/parameters/pageIndex" #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" - $ref: "#/components/parameters/accept_HEADER_application-json" #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /v1/accounts/{account-id}/transactions/{transactionId}: get: summary: Read Transaction Details description: | Reads transaction details from a given transaction addressed by "transactionId" on a given account addressed by "account-id". This call is only available on transactions as reported in a JSON format. **Remark:** Please note that the PATH might be already given in detail by the corresponding entry of the response of the "Read Transaction List" call within the _links subfield. operationId: getTransactionDetails tags: - Account Information Service (AIS) parameters: #path - $ref: "#/components/parameters/accountId" - $ref: "#/components/parameters/transactionId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" ##################################################### # Consents ##################################################### /v1/consents: post: summary: Create consent description: | This method creates a consent resource, defining access rights to dedicated accounts of a given PSU. These accounts are addressed explicitly in the method as parameters as a core function. Note: The PSU-ID header is not supported. **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. As another option Consorsbank, BNP Paribas Wealth Management - Private Banking and DAB BNP Paribas accept a command, where only access rights are inserted without mentioning the addressed account. The relation to accounts is then handled afterwards between PSU and ASPSP. operationId: createConsent tags: - Account Information Service (AIS) parameters: #path # NO PATH PARAMETER #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #method specific header elements - $ref: "#/components/parameters/TPP-Redirect-URI" - $ref: "#/components/parameters/TPP-Nok-Redirect-URI" #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" - $ref: '#/components/parameters/PSU-Device-ID' #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /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) parameters: #path - $ref: "#/components/parameters/consentId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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) parameters: #path - $ref: "#/components/parameters/consentId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /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) parameters: #path - $ref: "#/components/parameters/consentId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY 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" '409': $ref: "#/components/responses/CONFLICT_409_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" /v1/consents/{consentId}/authorisations: get: summary: Get Consent Authorisation Sub-Resources Request description: | Return a list of all authorisation subresources IDs which have been created. This function returns an array of hyperlinks to all generated authorisation sub-resources. operationId: getConsentAuthorisation tags: - Account Information Service (AIS) parameters: #path - $ref: "#/components/parameters/consentId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_Authorisations" '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" '409': $ref: "#/components/responses/CONFLICT_409_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" /v1/consents/{consentId}/authorisations/{authorisationId}: get: summary: Read the SCA status of the consent authorisation. description: | This method returns the SCA status of a consent initiation's authorisation sub-resource. operationId: getConsentScaStatus tags: - Account Information Service (AIS) - Common Services parameters: #path - $ref: "#/components/parameters/consentId_PATH" - $ref: "#/components/parameters/authorisationId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED #conditional elements for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #ADDITIONAL PSU INFORMATION IN HEADER IS NOT PERMITTED! #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_ScaStatus" '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" '409': $ref: "#/components/responses/CONFLICT_409_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" ##################################################### # Funds Confirmation Service ##################################################### /v1/funds-confirmations: post: summary: Confirmation of Funds Request description: Creates a confirmation of funds request at the ASPSP. Checks whether a specific amount is available at point of time of the request on an account addressed by IBAN and TPP operationId: checkAvailabilityOfFunds tags: - Confirmation of Funds Service (PIIS) parameters: #path # NO PATH PARAMETER #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #method specific header elements #header to support the signature function #SIGNATURE FUNCTION IS NOT SUPPORTED requestBody: $ref: "#/components/requestBodies/confirmationOfFunds" responses: '200': $ref: "#/components/responses/OK_200_ConfirmationOfFunds" '400': $ref: "#/components/responses/BAD_REQUEST_400_PIIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_PIIS" '403': $ref: "#/components/responses/FORBIDDEN_403_PIIS" '404': $ref: "#/components/responses/NOT_FOUND_404_PIIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_PIIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_PIIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_PIIS" '409': $ref: "#/components/responses/CONFLICT_409_PIIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_PIIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_PIIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_PIIS" components: ##################################################### # Predefined Components ##################################################### schemas: ##################################################### # Predefined Schemas ##################################################### paymentId: description: | Resource identification of the generated payment initiation resource. type: string authorisationId: description: Resource identification of the related SCA type: string accountId: description: This identification is denoting the addressed account, where the transaction has been performed. type: string consentId: description: | ID of the corresponding consent object as returned by an Account Information Consent Request. type: string transactionId: description: | This identification is given by the attribute 'transactionId' of the corresponding entry of a transaction list. type: string cancellationId: description: Identification for cancellation resource type: string transactionStatus: description: | The transaction status is filled with codes of the ISO 20022 data table: - 'RCVD': 'Received' - Payment initiation has been received by the receiving agent. - 'PNDG': ''Pending' - Payment initiation is pending. Further checks and status update will be performed. - 'ACTC': 'AcceptedTechnicalValidation' - Authentication and syntactical and semantical validation are 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. - '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 accepted as new code by ISO20022. type: string enum: - "RCVD" - "PNDG" - "ACTC" - "ACSC" - "RJCT" - "CANC" 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. * 'finalised': The SCA routine has been finalised successfully. * 'failed': The SCA routine failed type: string enum: - "received" - "finalised" - "failed" example: "received" 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. type: string enum: - "received" - "rejected" - "valid" - "revokedByPsu" - "expired" - "terminatedByTpp" 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 scaMethods: description: | This data element will be contained, if the decoupled SCA approach was chosen. type: array items: $ref: "#/components/schemas/authenticationObject" authenticationObject: description: | Authentication object containing information related to the decoupled SCA process. type: object required: - explanation properties: explanation: description: | Will contain one of two different messages that will specify if the SCA can proceed with the decoupled approach or if there was an error. * If the explanation is: "Decoupled SCA started successfully." then the customer should be shown a message that instructs them to continue the process on their mobile device. * If the explanation is: "Decoupled SCA could not be started. Please retry using the REDIRECT approach." then the initiation can't proceed using the decoupled approach. In this case the process has to be restarted, using the redirect approach. type: string example: Decoupled SCA started successfully. fundsAvailable: description: | Equals true if sufficient funds are available at the time of the request, false otherwise. This datalemenet is allways contained in a confirmation of funds response. This data element is contained in a payment status response, if supported by the ASPSP, if a funds check has been performed and if the transactionStatus is "ATCT", "ACWC" or "ACCP". type: boolean hrefType: description: Link to a resource type: object properties: href: $ref: "#/components/schemas/hrefEntry" hrefEntry: description: Link to a resource type: string 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 * IBAN, of a payment accounts. type: object properties: iban: $ref: "#/components/schemas/iban" 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. - "interimAvailable" [Consorsbank only]: 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. type: string enum: - "closingBooked" - "interimAvailable" 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" 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: Account Details type: object required: - currency properties: resourceId: type: string iban: $ref: "#/components/schemas/iban" currency: $ref: "#/components/schemas/currencyCode" cashAccountType: $ref: "#/components/schemas/cashAccountType" status: $ref: "#/components/schemas/accountStatus" bic: $ref: "#/components/schemas/bicfi" usage: description: | Specifies the usage of the account * PRIV: private personal account * ORGA: professional account type: string maxLength: 4 enum: - "PRIV" - "ORGA" balances: $ref: "#/components/schemas/balanceList" _links: $ref: "#/components/schemas/_linksAccountDetails" accountList: description: | List of accounts with details. type: object required: - accounts properties: accounts: type: array items: $ref: "#/components/schemas/accountDetails" 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" transactionList: description: Array of transaction details type: array items: $ref: "#/components/schemas/transactionDetails" 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 using the GET Transaction Details Request. type: string 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 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" creditorName: $ref: "#/components/schemas/creditorName" creditorAccount: $ref: "#/components/schemas/accountReference" debtorName: $ref: "#/components/schemas/debtorName" debtorAccount: $ref: "#/components/schemas/accountReference" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" proprietaryBankTransactionCode: $ref: "#/components/schemas/proprietaryBankTransactionCode" _links: $ref: "#/components/schemas/_linksTransactionDetails" 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 balanceList: description: | A list of balances regarding this account, e.g. the current balance, the last booked balance. The list might be restricted to the current balance. 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 * This is mandatory for cross-border-credit-transfers type: string pattern: "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}" iban: type: string description: IBAN of an account pattern: "[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}" address: type: object required: - country properties: streetName: type: string maxLength: 70 buildingNumber: type: string townName: type: string postCode: type: string country: $ref: "#/components/schemas/countryCode" countryCode: description: ISO 3166 ALPHA2 country code type: string pattern: "[A-Z]{2}" amount: type: object required: - currency - amount properties: currency: $ref: "#/components/schemas/currencyCode" amount: $ref: "#/components/schemas/amountValue" currencyCode: description: | ISO 4217 Alpha 3 currency code type: string pattern: "[A-Z]{3}" amountRestricted: type: object required: - currency - amount properties: currency: $ref: "#/components/schemas/currencyCodeRestricted" amount: $ref: "#/components/schemas/amountValue" currencyCodeRestricted: description: | ISO 4217 Alpha 3 currency code, restricted to a few currency codes only. In case of a sepa-credit-transfers payment only the "EUR" code is supported. In case of a cross-border-credit-transfers payment all of the codes in the enum are supported type: string enum: - "EUR" - "USD" - "AUD" - "CAD" - "CHF" - "CZK" - "DKK" - "GBP" - "HUF" - "HKD" - "INR" - "JPY" - "KRW" - "NOK" - "NZD" - "PLN" - "SEK" - "SGD" - "THB" - "TRY" - "ZAR" - "MXN" 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})?" chargeBearer: description: | Charge Bearer. ChargeBearerType1Code from ISO20022. * This is mandatory for cross-border-credit-transfers. type: string enum: - "DEBT" - "CRED" - "SHAR" remittanceInformationUnstructured: description: | Unstructured remittance information; pattern: [a-zA-Z0-9\.,\+\-\'\: ] type: string maxLength: 140 ##################################################### # Predefined Text Formats ##################################################### 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 merchantCategoryCode: description: Merchant category code type: string maxLength: 4 minLength: 4 frequencyCode: description: | (This attribute is for Consorsbank and BNP Paribas Wealth Management - Private Banking only) The following codes from the "EventFrequency7Code" of ISO 20022 are supported. - "Weekly" - "EveryTwoWeeks" - "Monthly" - "EveryTwoMonths" - "Quarterly" - "SemiAnnual" - "Annual" type: string enum: - "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". The frequency needs to be greater equal to one and less equal to 4. type: integer minimum: 1 exclusiveMinimum: false dayOfExecution: description: | (This attribute is for Consorsbank and BNP Paribas Wealth Management - Private Banking only) 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" creditorName: description: | Creditor Name; pattern: [a-zA-Z0-9\.,\+\- ] type: string maxLength: 70 debtorName: description: Debtor Name type: string maxLength: 70 ##################################################### # Predefined Date and Time Related Formats ##################################################### 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 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 ##################################################### # Content of Request Bodies ##################################################### ##################################################### # Content of Request Bodies - JSON ##################################################### paymentInitiationSinglePayment_json: description: | This JSON body can be used to represent valid payment initiations for single payments for the following JSON based payment product: * sepa-credit-transfers * cross-border-credit-transfers type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" instructedAmount: $ref: "#/components/schemas/amountRestricted" creditorAccount: $ref: "#/components/schemas/accountReference" creditorName: $ref: "#/components/schemas/creditorName" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" chargeBearer: $ref: "#/components/schemas/chargeBearer" creditorAgent: $ref: "#/components/schemas/bicfi" paymentInitiationFuturedatedPayment_json: description: | This JSON body can be used to represent valid payment initiations for future dated payments for the following JSON based payment product: * sepa-credit-transfers type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - requestedExecutionDate properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorName: $ref: "#/components/schemas/creditorName" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" requestedExecutionDate: type: string format: date periodicPaymentInitiation_json: description: | (Consorsbank and BNP Paribas Wealth Management - Private Banking only) This JSON body can be used to represent valid periodic payment initiations for the following JSON based payment product: * sepa-credit-transfers type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency - dayOfExecution properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorName: $ref: "#/components/schemas/creditorName" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" #Additional Information for periodic payments startDate: $ref: "#/components/schemas/startDate" endDate: $ref: "#/components/schemas/endDate" frequency: $ref: "#/components/schemas/frequencyCode" dayOfExecution: $ref: "#/components/schemas/dayOfExecution" 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 maxLength: 35 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: | Combination of AIS and PIS Services is not supported. Being a mandatory attribute this has to be provided by TPP, but always set to false type: boolean example: false ##################################################### # Content of Response Bodies ##################################################### 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" fundsAvailable: $ref: "#/components/schemas/fundsAvailable" 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" scaMethods: $ref: "#/components/schemas/scaMethods" _links: $ref: "#/components/schemas/_linksPaymentInitiation" tppMessages: type: array items: $ref: "#/components/schemas/tppMessage2XX" paymentInitiationCancelResponse-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" _links: $ref: "#/components/schemas/_linksPaymentInitiationCancel" paymentInitiationWithStatusResponse: description: | JSON response body consisting of the corresponding payment initiation 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" creditorName: $ref: "#/components/schemas/creditorName" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" requestedExecutionDate: # N.A. type: string format: date transactionStatus: $ref: "#/components/schemas/transactionStatus" periodicPaymentInitiationWithStatusResponse: description: | (Consorsbank and BNP Paribas Wealth Management - Private Banking only) JSON response body consisting of the corresponding periodic payment initiation JSON body together with an optional transaction status field. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency - dayOfExecution properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorName: $ref: "#/components/schemas/creditorName" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" #Additional Information for periodic payments startDate: $ref: "#/components/schemas/startDate" endDate: $ref: "#/components/schemas/endDate" frequency: $ref: "#/components/schemas/frequencyCode" dayOfExecution: $ref: "#/components/schemas/dayOfExecution" transactionStatus: $ref: "#/components/schemas/transactionStatus" scaStatusResponse: description: Body of the JSON response with SCA Status type: object required: - scaStatus properties: scaStatus: $ref: "#/components/schemas/scaStatus" startScaprocessResponse: description: Body of the JSON response for a Start SCA authorisation request. type: object required: - scaStatus - authorisationId - _links properties: scaStatus: $ref: "#/components/schemas/scaStatus" authorisationId: $ref: "#/components/schemas/authorisationId" 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" _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" _links: $ref: "#/components/schemas/_linksGetConsent" 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" 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" ##################################################### # _links ##################################################### _linksAll: description: | A _link object with all available link types type: object additionalProperties: $ref: "#/components/schemas/hrefType" properties: scaRedirect: $ref: "#/components/schemas/hrefType" startAuthorisation: $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" 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: * 'scaRedirect': In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. * '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" self: $ref: "#/components/schemas/hrefType" status: $ref: "#/components/schemas/hrefType" scaStatus: $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). type: object additionalProperties: $ref: "#/components/schemas/hrefType" properties: startAuthorisation: $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. - '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" 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. - '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" self: $ref: "#/components/schemas/hrefType" status: $ref: "#/components/schemas/hrefType" scaStatus: $ref: "#/components/schemas/hrefType" _linksGetConsent: description: | A list of hyperlinks to be recognised by the TPP. Links of type "account" and/or "cardAccount", depending on the nature of the consent. type: object additionalProperties: $ref: "#/components/schemas/hrefType" properties: account: $ref: "#/components/schemas/hrefType" card-account: $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" _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" ##################################################### # Tpp-Messages to Communicate Error Information ##################################################### ##################################################### # Generic Elements ##################################################### 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" #gen - "PARAMETER_NOT_CONSISTENT" #gen - "PARAMETER_NOT_SUPPORTED" #gen - "SERVICE_INVALID" #gen - "RESOURCE_UNKNOWN" #gen - "RESOURCE_EXPIRED" #gen - "RESOURCE_BLOCKED" #gen - "TIMESTAMP_INVALID" #gen - "PERIOD_INVALID" #gen - "SCA_METHOD_UNKNOWN" #gen - "CONSENT_UNKNOWN" #gen - "SESSIONS_NOT_SUPPORTED" #AIS MessageCode400_PIS: description: Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST). type: string enum: - "FORMAT_ERROR" #gen - "PARAMETER_NOT_CONSISTENT" #gen - "PARAMETER_NOT_SUPPORTED" #gen - "SERVICE_INVALID" #gen - "RESOURCE_UNKNOWN" #gen - "RESOURCE_EXPIRED" #gen - "RESOURCE_BLOCKED" #gen - "TIMESTAMP_INVALID" #gen - "PERIOD_INVALID" #gen - "SCA_METHOD_UNKNOWN" #gen - "CONSENT_UNKNOWN" #gen - "PAYMENT_FAILED" #PIS - "EXECUTION_DATE_INVALID" #PIS MessageCode400_PIIS: description: Message codes defined for PIIS for HTTP Error code 400 (BAD_REQUEST). type: string enum: - "FORMAT_ERROR" #gen - "PARAMETER_NOT_CONSISTENT" #gen - "PARAMETER_NOT_SUPPORTED" #gen - "SERVICE_INVALID" #gen - "RESOURCE_UNKNOWN" #gen - "RESOURCE_EXPIRED" #gen - "RESOURCE_BLOCKED" #gen - "TIMESTAMP_INVALID" #gen - "PERIOD_INVALID" #gen - "SCA_METHOD_UNKNOWN" #gen - "CONSENT_UNKNOWN" #gen - "CARD_INVALID" #PIIS - "NO_PIIS_ACTIVATION" #PIIS MessageCode401_PIS: description: Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED). type: string enum: - "CERTIFICATE_INVALID" #gen - "ROLE_INVALID" #gen - "CERTIFICATE_EXPIRED" #gen - "CERTIFICATE_BLOCKED" #gen - "CERTIFICATE_REVOKE" #gen - "CERTIFICATE_MISSING" #gen - "CORPORATE_ID_INVALID" #gen - "PSU_CREDENTIALS_INVALID" #gen - "CONSENT_INVALID" #gen, AIS - "CONSENT_EXPIRED" #gen - "TOKEN_UNKNOWN" #gen - "TOKEN_INVALID" #gen - "TOKEN_EXPIRED" #gen - "REQUIRED_KID_MISSING" #PIS MessageCode401_AIS: description: Message codes defined for AIS for HTTP Error code 401 (UNAUTHORIZED). type: string enum: - "CERTIFICATE_INVALID" #gen - "ROLE_INVALID" #gen - "CERTIFICATE_EXPIRED" #gen - "CERTIFICATE_BLOCKED" #gen - "CERTIFICATE_REVOKE" #gen - "CERTIFICATE_MISSING" #gen - "CORPORATE_ID_INVALID" #gen - "PSU_CREDENTIALS_INVALID" #gen - "CONSENT_INVALID" #gen, AIS - "CONSENT_EXPIRED" #gen - "TOKEN_UNKNOWN" #gen - "TOKEN_INVALID" #gen - "TOKEN_EXPIRED" #gen MessageCode401_PIIS: description: Message codes defined for PIIS for HTTP Error code 401 (UNAUTHORIZED). type: string enum: - "CERTIFICATE_INVALID" #gen - "ROLE_INVALID" #gen - "CERTIFICATE_EXPIRED" #gen - "CERTIFICATE_BLOCKED" #gen - "CERTIFICATE_REVOKE" #gen - "CERTIFICATE_MISSING" #gen - "CORPORATE_ID_INVALID" #gen - "PSU_CREDENTIALS_INVALID" #gen - "CONSENT_INVALID" #gen, AIS - "CONSENT_EXPIRED" #gen - "TOKEN_UNKNOWN" #gen - "TOKEN_INVALID" #gen - "TOKEN_EXPIRED" #gen MessageCode403_PIS: description: Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN). type: string enum: - "CONSENT_UNKNOWN" #gen - "SERVICE_BLOCKED" #gen - "RESOURCE_UNKNOWN" #gen - "RESOURCE_EXPIRED" #gen - "PRODUCT_INVALID" #PIS MessageCode403_AIS: description: Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN). type: string enum: - "CONSENT_UNKNOWN" #gen - "SERVICE_BLOCKED" #gen - "RESOURCE_UNKNOWN" #gen - "RESOURCE_EXPIRED" #gen MessageCode403_PIIS: description: Message codes defined for PIIS for HTTP Error code 403 (FORBIDDEN). type: string enum: - "CONSENT_UNKNOWN" #gen - "SERVICE_BLOCKED" #gen - "RESOURCE_UNKNOWN" #gen - "RESOURCE_EXPIRED" #gen MessageCode404_PIS: description: Message codes defined for PIS for HTTP Error code 404 (NOT FOUND). type: string enum: - "RESOURCE_UNKNOWN" #gens - "PRODUCT_UNKNOWN" #PIS MessageCode404_AIS: description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND). type: string enum: - "RESOURCE_UNKNOWN" #gens MessageCode404_PIIS: description: Message codes defined for PIIS for HTTP Error code 404 (NOT FOUND). type: string enum: - "RESOURCE_UNKNOWN" #gens MessageCode405_PIS: description: Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - "SERVICE_INVALID" #gens MessageCode405_PIS_CANC: description: Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - "CANCELLATION_INVALID" #PIS - "SERVICE_INVALID" #gens MessageCode405_AIS: description: Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - "SERVICE_INVALID" #gens MessageCode405_PIIS: description: Message codes defined for PIIS for HTTP Error code 405 (METHOD NOT ALLOWED). type: string enum: - "SERVICE_INVALID" #gens MessageCode406_AIS: description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE). type: string enum: - "REQUESTED_FORMATS_INVALID" #AIS MessageCode409_AIS: description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT). type: string enum: - "STATUS_INVALID" #gen MessageCode409_PIS: description: Message codes defined for PIS for HTTP Error code 409 (CONFLICT). type: string enum: - "STATUS_INVALID" #gen MessageCode409_PIIS: description: Message codes defined for PIIS for HTTP Error code 409 (CONFLICT). type: string enum: - "STATUS_INVALID" #gen MessageCode429_AIS: description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS). type: string enum: - "ACCESS_EXCEEDED" #AIS ##################################################### # Next Gen propriatary Tpp-Messages ##################################################### 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" 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" 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" 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" 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" 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" 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" ##################################################### # RFC7807 Messages ##################################################### 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 ##################################################### # RFC7807 Messages ##################################################### 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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" 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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" 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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" 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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" 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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" 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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: #ErrorInformation 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" 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: #ErrorInformation 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" #example: #$ref: "#/components/examples/RFC7807_ErrorInfoBody" 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" 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" 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" 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" 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" 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" }] 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: ##################################################### # Predefined Parameters ##################################################### paymentService: name: payment-service in: path description: | Payment service: Possible values are: * payments * periodic-payments (Consorsbank and BNP Paribas Wealth Management - Private Banking only) required: true schema: type: string enum: - "payments" - "periodic-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 - cross-border-credit-transfers required: true schema: type: string enum: - "sepa-credit-transfers" - "cross-border-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" transactionId: name: transactionId in: path description: | This identification is given by the attribute transactionId of the corresponding entry of a transaction list. required: true schema: $ref: "#/components/schemas/transactionId" 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_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" accept_HEADER_application-json: name: Accept in: header description: | For this operation the Accept header is mandatory, and the only accepted value is "application/json" required: true schema: type: string enum: - "application/json" 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. required: false schema: type: boolean dateFrom: name: dateFrom in: query description: | Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandatory. 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: true 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 pageIndex: name: pageIndex in: query description: | This data attribute is indicating the index of the current transaction page. The first page is "0". Optional. required: false schema: type: integer bookingStatus: name: bookingStatus in: query description: | Permitted codes are * "information", * "booked", * "pending", and * "both" "booked" shall be supported by the ASPSP. To support the "information", "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: - "information" - "booked" - "pending" - "both" 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 schema: type: string format: uuid 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. **Remark for Future:** This field might be changed to mandatory in the next version of the specification. schema: type: string format: uri required: true 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 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. This header is mandatory for the decoupled SCA approach, and should be omitted for the redirect SCA approach. schema: type: string format: uuid required: false example: "99435c7e-ad88-49ec-a2ad-99ddcb1f5555" 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 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. **It shall be contained if and only if this request was actively initiated by the PSU.** schema: type: string format: ipv4 required: false 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 requestBodies: ##################################################### # Reusable Request Bodies ##################################################### paymentInitiation: description: | JSON request body for a payment initiation request message There is the following payment-product supported: * "sepa-credit-transfers" with JSON-Body * "cross-border-credit-transfers" with JSON-Body (single payments only) There are the following payment-services supported: * "payments" (single payments / future dated payments) * "periodic-payments" (Consorsbank and BNP Paribas Wealth Management - Private Banking only) content: application/json: schema: oneOf: #Different Payment products in JSON - $ref: "#/components/schemas/paymentInitiationSinglePayment_json" - $ref: "#/components/schemas/paymentInitiationFuturedatedPayment_json" - $ref: "#/components/schemas/periodicPaymentInitiation_json" required: true confirmationOfFunds: description: | Request body for a confirmation of funds request. content: application/json: schema: $ref: "#/components/schemas/confirmationOfFunds" required: true consents: description: | Requestbody for a consents request content: application/json: schema: $ref: "#/components/schemas/consents" headers: ##################################################### # Reusable Response Header Elements ##################################################### X-Request-ID: description: ID of the request, unique to the call, as determined by the initiating party. required: true schema: type: string format: uuid ASPSP-SCA-Approach: description: | This data element must be contained, if the SCA Approach is already fixed. Possible value is * REDIRECT schema: type: string enum: - "REDIRECT" example: "REDIRECT" required: false Location: description: | Location of the created resource. schema: type: string format: url required: false responses: ##################################################### # Reusabale Responses ##################################################### ##################################################### # Positive Responses ##################################################### OK_200_PaymentInitiationInformation: description: OK headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: oneOf: #Different Payment Products with status - $ref: "#/components/schemas/paymentInitiationWithStatusResponse" - $ref: "#/components/schemas/periodicPaymentInitiationWithStatusResponse" 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" OK_200_Authorisations: description: OK headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: $ref: "#/components/schemas/authorisations" 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" OK_200_CancellationList: description: OK headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: $ref: "#/components/schemas/cancellationList" OK_200_AccountDetails: description: OK headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: $ref: "#/components/schemas/accountDetails" OK_200_TransactionDetails: description: OK headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: $ref: "#/components/schemas/transactionDetails" OK_200_Balances: description: OK headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: $ref: "#/components/schemas/readAccountBalanceResponse-200" 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" 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" OK_200_ConsentStatus: description: OK headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: $ref: "#/components/schemas/consentStatusResponse-200" OK_200_ConfirmationOfFunds: description: OK headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: description: | Equals "true" if sufficient funds are available at the time of the request, "false" otherwise. type: object required: - fundsAvailable properties: fundsAvailable: type: boolean 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: $ref: "#/components/schemas/paymentInitationRequestResponse-201" 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" 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" RECEIVED_202_PaymentInitiationCancel: description: Received headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" content: application/json: schema: $ref: "#/components/schemas/paymentInitiationCancelResponse-202" NO_CONTENT_204_PaymentInitiationCancel: description: No Content headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" #NO RESPONSE BODY NO_CONTENT_204_Consents: description: No Content headers: X-Request-ID: $ref: "#/components/headers/X-Request-ID" #NO RESPONSE BODY ##################################################### # Negative Responses ##################################################### 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" 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" 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" 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" 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" NOT_ACCEPTABLE_406_PIS: description: Not Acceptable headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIS in case of HTTP code 406 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" #No Response body because there are no valid message codes for PIIS in case of HTTP code 406 REQUEST_TIMEOUT_408_PIS: description: Request Timeout headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIS in case of HTTP code 408 REQUEST_TIMEOUT_408_AIS: description: Request Timeout headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for AIS in case of HTTP code 408 REQUEST_TIMEOUT_408_PIIS: description: Request Timeout headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIIS in case of HTTP code 408 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" UNSUPPORTED_MEDIA_TYPE_415_AIS: description: Unsupported Media Type headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for AIS in case of HTTP code 415 UNSUPPORTED_MEDIA_TYPE_415_PIS: description: Unsupported Media Type headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for AIS in case of HTTP code 415 UNSUPPORTED_MEDIA_TYPE_415_PIIS: description: Unsupported Media Type headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIIS in case of HTTP code 415 TOO_MANY_REQUESTS_429_PIS: description: Too Many Requests headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIS in case of HTTP code 429 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" #No Response body because there are no valid message codes for PIIS in case of HTTP code 429 INTERNAL_SERVER_ERROR_500_PIS: description: Internal Server Error headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIS in case of HTTP code 500 INTERNAL_SERVER_ERROR_500_AIS: description: Internal Server Error headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for AIS in case of HTTP code 500 INTERNAL_SERVER_ERROR_500_PIIS: description: Internal Server Error headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIIS in case of HTTP code 500 SERVICE_UNAVAILABLE_503_PIS: description: Service Unavailable headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIS in case of HTTP code 503 SERVICE_UNAVAILABLE_503_AIS: description: Service Unavailable headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for AIS in case of HTTP code 503 SERVICE_UNAVAILABLE_503_PIIS: description: Service Unavailable headers: Location: $ref: "#/components/headers/Location" X-Request-ID: $ref: "#/components/headers/X-Request-ID" #No Response body because there are no valid message codes for PIIS in case of HTTP code 503 # examples: ##################################################### # Predefined Examples ##################################################### security: ##################################################### # Global security options ##################################################### - {} tags: ##################################################### # Predefined Tags to Group Methods ##################################################### - 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: Confirmation of Funds Service (PIIS) description: | Confirmation of Funds Service (PIIS) returns a confirmation of funds request at the ASPSP. - 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: Common Services description: | Processes on starting authorisations, update PSU identification or PSU authentication data and explicit authorisation of transactions by using SCA are very similar in PIS and AIS services. The API calls supporting these processes are described in the following independently from the service/endpoint. For reasons of clarity, the endpoints are defined always for the Payment Initiation Service, the Payment Cancellation, the Account Information Service (Consents) separately. These processes usually are used following a hyperlink of the ASPSP.