openapi: 3.0.1 info: title: BG PSD2 API version: "1.3 Dec 20th 2018" description: | # Summary The **NextGenPSD2** *Framework Version 1.3* 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 Approaches are: * Redirect SCA Approach * OAuth SCA Approach * Decoupled SCA Approach * Embedded SCA Approach without SCA method * Embedded SCA Approach with only one SCA method available * Embedded SCA Approach with Selection of a SCA method Not every message defined in this API definition is necessary for all approaches. Furthermore this API definition does not differ between methods which are mandatory, conditional, or optional Therefore for a particular implementation of a Berlin Group PSD2 compliant API it is only necessary to support a certain subset of the methods defined in this API definition. **Please have a look at the implementation guidelines if you are not sure which message has to be used for the approach you are going to use.** ## Some General Remarks Related to this version of the OpenAPI Specification: * **This API definition is based on the Implementation Guidelines of the 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 to the ASPSP.** * **This API definition contains the messages for all different approaches defined in the Implementation Guidelines.** * According to the OpenAPI-Specification [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md] "If in is "header" and the name field is "Accept", "Content-Type" or "Authorization", the parameter definition SHALL be ignored." The element "Accept" will not be defined in this file at any place. The elements "Content-Type" and "Authorization" are implicitly defined by the OpenApi tags "content" and "security". * There are several predefined types which might occur in payment initiation messages, but are not used in the standard JSON messages in the Implementation Guidelines. Therefore they are not used in the corresponding messages in this file either. We added them for the convenience of the user. If there is a payment product, which need these field, one can easily use the predefined types. But the ASPSP need not to accept them in general. * **We omit the definition of all standard HTTP header elements (mandatory/optional/conditional) except they are mention in the Implementation Guidelines.** Therefore the implementer might add the in his own realisation of a PSD2 comlient API in addition to the elements define in this file. ## 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://api.testbank.com/psd2 description: PSD2 server - url: https://test-api.testbank.com/psd2 description: Optional PSD2 test server 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 either a JSON body or an pain.001 body depending on the payment product in the path. There are the following **payment products**: - Payment products with payment information in *JSON* format: - ***sepa-credit-transfers*** - ***instant-sepa-credit-transfers*** - ***target-2-payments*** - ***cross-border-credit-transfers*** - Payment products with payment information in *pain.001* XML format: - ***pain.001-sepa-credit-transfers*** - ***pain.001-instant-sepa-credit-transfers*** - ***pain.001-target-2-payments*** - ***pain.001-cross-border-credit-transfers*** Furthermore the request body depends on the **payment-service** * ***payments***: A single payment initiation request. * ***bulk-payments***: A collection of several payment iniatiation requests. In case of a *pain.001* message there are more than one payments contained in the *pain.001 message. In case of a *JSON* there are several JSON payment blocks contained in a joining list. * ***periodic-payments***: Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body. This is the first step in the API to initiate the related recurring/periodic payment. ## Single and mulitilevel SCA Processes The Payment Initiation Requests are independent from the need of one ore multilevel SCA processing, i.e. independent from the number of authorisations needed for the execution of payments. But the response messages are specific to either one SCA processing or multilevel SCA processing. For payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation, i.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the response message of a Payment Initation Request for a payment, where multiple authorisations are needed. Also if any data is needed for the next action, like selecting an SCA method is not supported in the response, since all starts of the multiple authorisations are fully equal. In these cases, first an authorisation sub-resource has to be generated following the 'startAuthorisation' link. operationId: initiatePayment tags: - Payment Initiation Service (PIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" - $ref: "#/components/parameters/consentId_HEADER_optional" - $ref: "#/components/parameters/PSU-IP-Address_mandatory" - $ref: "#/components/parameters/TPP-Redirect-Preferred" - $ref: "#/components/parameters/TPP-Redirect-URI" - $ref: "#/components/parameters/TPP-Nok-Redirect-URI" - $ref: "#/components/parameters/TPP-Explicit-Authorisation-Preferred" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" requestBody: $ref: "#/components/requestBodies/paymentInitiation" responses: '201': $ref: "#/components/responses/CREATED_201_PaymentInitiation" '400': $ref: "#/components/responses/BAD_REQUEST_400_PIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_PIS" '403': $ref: "#/components/responses/FORBIDDEN_403_PIS" '404': $ref: "#/components/responses/NOT_FOUND_404_PIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_PIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_PIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_PIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_PIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_PIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_PIS" /v1/{payment-service}/{payment-product}/{paymentId}: get: summary: Get Payment Information description: Returns the content of a payment object operationId: getPaymentInformation tags: - Payment Initiation Service (PIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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: post: summary: Start the authorisation process for a payment initiation description: | Create an authorisation sub-resource and start the authorisation process. The message might in addition transmit authentication and authorisation related data. This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the transaction. The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST payments/{payment-product} call. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Initiation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms. * 'startAuthorisationWithPsuIdentfication', * 'startAuthorisationWithPsuAuthentication' #TODO * 'startAuthorisationWithAuthentciationMethodSelection' * The related payment initiation cannot yet be executed since a multilevel SCA is mandated. * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above. * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation. * The signing basket needs to be authorised yet. operationId: startPaymentAuthorisation tags: - Payment Initiation Service (PIS) - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_PIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_PIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_PIS" get: summary: Get Payment Initiation Authorisation Sub-Resources Request description: | Read a list of all authorisation subresources IDs which have been created. This function returns an array of hyperlinks to all generated authorisation sub-resources. operationId: getPaymentInitiationAuthorisation tags: - Payment Initiation Service (PIS) - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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 security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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" put: summary: Update PSU data for payment initiation description: | This methods updates PSU data on the authorisation resource if needed. It may authorise a payment within the Embedded SCA Approach where needed. Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication. There are several possible Update PSU Data requests in the context of payment initiation services needed, which depends on the SCA approach: * Redirect SCA Approach: A specific Update PSU Data Request is applicable for * the selection of authentication methods, before choosing the actual SCA approach. * Decoupled SCA Approach: A specific Update PSU Data Request is only applicable for * adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or * the selection of authentication methods. * Embedded SCA Approach: The Update PSU Data Request might be used * to add credentials as a first factor authentication data of the PSU and * to select the authentication method and * transaction authorisation. The SCA Approach might depend on the chosen SCA method. For that reason, the following possible Update PSU Data request can apply to all SCA approaches: * Select an SCA method in case of several SCA methods are available for the customer. There are the following request types on this access path: * Update PSU Identification * Update PSU Authentication * Select PSU Autorization Method WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. * Transaction Authorisation WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. operationId: updatePaymentPsuData tags: - Payment Initiation Service (PIS) - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements # Not always allowed depending on the kind of update which is ask for - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" requestBody: content: application/json: schema: oneOf: - {} #Update PSU Identification - $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication - $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method - $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation examples: "Update PSU Identification (Decoupled Approach)": value: {} "Update PSU Authentication (Embedded Approach)": $ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" "Select PSU Authentication Method (Embedded Approach)": $ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" "Transaction Authorisation (Embedded Approach)": $ref: "#/components/examples/transactionAuthorisationExample_Embedded" responses: '200': $ref: "#/components/responses/OK_200_UpdatePsuData" '400': $ref: "#/components/responses/BAD_REQUEST_400_PIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_PIS" '403': $ref: "#/components/responses/FORBIDDEN_403_PIS" '404': $ref: "#/components/responses/NOT_FOUND_404_PIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_PIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_PIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_PIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_PIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_PIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_PIS" /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 message might in addition transmit authentication and authorisation related data. This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the cancellation-authorisation. The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST payments/{payment-product} call. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Initiation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms. * 'startAuthorisationWithPsuIdentfication', * 'startAuthorisationWithPsuAuthentication' #TODO * 'startAuthorisationWithAuthentciationMethodSelection' * The related payment initiation cannot yet be executed since a multilevel SCA is mandated. * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above. * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation. * The signing basket needs to be authorised yet. operationId: startPaymentInitiationCancellationAuthorisation tags: - Payment Initiation Service (PIS) - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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 security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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" put: summary: Update PSU Data for payment initiation cancellation description: | This method updates PSU data on the cancellation authorisation resource if needed. It may authorise a cancellation of the payment within the Embedded SCA Approach where needed. Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication. This methods updates PSU data on the cancellation authorisation resource if needed. There are several possible Update PSU Data requests in the context of a cancellation authorisation within the payment initiation services needed, which depends on the SCA approach: * Redirect SCA Approach: A specific Update PSU Data Request is applicable for * the selection of authentication methods, before choosing the actual SCA approach. * Decoupled SCA Approach: A specific Update PSU Data Request is only applicable for * adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or * the selection of authentication methods. * Embedded SCA Approach: The Update PSU Data Request might be used * to add credentials as a first factor authentication data of the PSU and * to select the authentication method and * transaction authorisation. The SCA Approach might depend on the chosen SCA method. For that reason, the following possible Update PSU Data request can apply to all SCA approaches: * Select an SCA method in case of several SCA methods are available for the customer. There are the following request types on this access path: * Update PSU Identification * Update PSU Authentication * Select PSU Autorization Method WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. * Transaction Authorisation WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. operationId: updatePaymentCancellationPsuData tags: - Payment Initiation Service (PIS) - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements # Not always allowed depending on the kind of update which is ask for - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" requestBody: content: application/json: schema: oneOf: - {} #Update PSU Identification - $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication - $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method - $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation examples: "Update PSU Identification (Embedded Approach)": value: {} "Update PSU Authentication (Embedded Approach)": $ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" "Select PSU Authentication Method (Embedded Approach)": $ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" "Transaction Authorisation (Embedded Approach)": $ref: "#/components/examples/transactionAuthorisationExample_Embedded" responses: '200': $ref: "#/components/responses/OK_200_UpdatePsuData" '400': $ref: "#/components/responses/BAD_REQUEST_400_PIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_PIS" '403': $ref: "#/components/responses/FORBIDDEN_403_PIS" '404': $ref: "#/components/responses/NOT_FOUND_404_PIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_PIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_PIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_PIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_PIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_PIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_PIS" ##################################################### # 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, respectively the OAuth2 access token. Returns all identifiers of the accounts, to which an account access has been granted to through the /consents endpoint by the PSU. In addition, relevant information about the accounts and hyperlinks to corresponding account information resources are provided if a related consent has been already granted. Remark: Note that the /consents endpoint optionally offers to grant an access on all available payment accounts of a PSU. In this case, this endpoint will deliver the information about all available payment accounts of the PSU at this ASPSP. operationId: getAccountList tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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, respectively the OAuth2 access token. **NOTE:** The account-id can represent a multicurrency account. In this case the currency code is set to "XXX". Give detailed information about the addressed account. Give detailed information about the addressed account together with balance information operationId: readAccountDetails tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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 can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the "GET Account List" call. The account-id is constant at least throughout the lifecycle of a given consent. operationId: getBalances tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/accountId" #query - $ref: "#/components/parameters/dateFrom" - $ref: "#/components/parameters/dateTo" - $ref: "#/components/parameters/entryReferenceFrom" - $ref: "#/components/parameters/bookingStatus" - $ref: "#/components/parameters/deltaList" - $ref: "#/components/parameters/withBalanceQuery" #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #- $ref: "#/components/parameters/Accept" #Can not defined in Open API. See general comments in the description attached to the top level of the file. #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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/{resourceId}: get: summary: Read Transaction Details description: | Reads transaction details from a given transaction addressed by "resourceId" on a given account addressed by "account-id". This call is only available on transactions as reported in a JSON format. **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) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/accountId" - $ref: "#/components/parameters/resourceId" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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" ##################################################### # Card Accounts ##################################################### /card-accounts: get: summary: Reads a list of card accounts description: | Reads a list of card accounts with additional information, e.g. balance information. 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 card accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token. operationId: getCardAccount tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODDY responses: '200': $ref: "#/components/responses/OK_200_CardAccountList" '400': $ref: "#/components/responses/BAD_REQUEST_400_AIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_AIS" '403': $ref: "#/components/responses/FORBIDDEN_403_AIS" '404': $ref: "#/components/responses/NOT_FOUND_404_AIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_AIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_AIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_AIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" /card-accounts/{account-id}: get: summary: Reads details about a card account description: | Reads details about a card account. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token. operationId: ReadCardAccount tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODDY responses: '200': $ref: "#/components/responses/OK_200_CardAccountDetails" '400': $ref: "#/components/responses/BAD_REQUEST_400_AIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_AIS" '403': $ref: "#/components/responses/FORBIDDEN_403_AIS" '404': $ref: "#/components/responses/NOT_FOUND_404_AIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_AIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_AIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_AIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" /card-accounts/{account-id}/balances: get: summary: Read card account balances description: | Reads balance data from a given card account addressed by "account-id". Remark: This account-id can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the "GET Card Account List" call operationId: getCardAccountBalances tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODDY responses: '200': $ref: "#/components/responses/OK_200_CardAccountBalances" '400': $ref: "#/components/responses/BAD_REQUEST_400_AIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_AIS" '403': $ref: "#/components/responses/FORBIDDEN_403_AIS" '404': $ref: "#/components/responses/NOT_FOUND_404_AIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_AIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_AIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_AIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" /card-accounts/{account-id}/transactions: get: summary: Read transaction list of an account description: | Reads account data from a given card account addressed by "account-id". operationId: getCardAccountTransactionList tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/accountId" #query - $ref: "#/components/parameters/dateFrom" - $ref: "#/components/parameters/dateTo" - $ref: "#/components/parameters/entryReferenceFrom" - $ref: "#/components/parameters/bookingStatus" - $ref: "#/components/parameters/deltaList" - $ref: "#/components/parameters/withBalanceQuery" #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/consentId_HEADER_mandatory" #- $ref: "#/components/parameters/Accept" #Can not defined in Open API. See general comments in the description attached to the top level of the file. #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_CardAccountsTransactions" '400': $ref: "#/components/responses/BAD_REQUEST_400_AIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_AIS" '403': $ref: "#/components/responses/FORBIDDEN_403_AIS" '404': $ref: "#/components/responses/NOT_FOUND_404_AIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_AIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_AIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_AIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" ##################################################### # Consents ##################################################### /v1/consents: post: summary: Create consent description: | This method create a consent resource, defining access rights to dedicated accounts of a given PSU-ID. These accounts are addressed explicitly in the method as parameters as a core function. **Side Effects** When this Consent Request is a request where the "recurringIndicator" equals "true", and if it exists already a former consent for recurring access on account information for the addressed PSU, then the former consent automatically expires as soon as the new consent request is authorised by the PSU. Optional Extension: As an option, an ASPSP might optionally accept a specific access right on the access on all psd2 related services for all available accounts. As another option an ASPSP might optionally also accept a command, where only access rights are inserted without mentioning the addressed account. The relation to accounts is then handled afterwards between PSU and ASPSP. This option is not supported for the Embedded SCA Approach. As a last option, an ASPSP might in addition accept a command with access rights * to see the list of available payment accounts or * to see the list of available payment accounts with balances. operationId: createConsent tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" - $ref: "#/components/parameters/TPP-Redirect-Preferred" - $ref: "#/components/parameters/TPP-Redirect-URI" - $ref: "#/components/parameters/TPP-Nok-Redirect-URI" - $ref: "#/components/parameters/TPP-Explicit-Authorisation-Preferred" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" requestBody: $ref: "#/components/requestBodies/consents" responses: '201': $ref: "#/components/responses/CREATED_201_Consents" '400': $ref: "#/components/responses/BAD_REQUEST_400_AIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_AIS" '403': $ref: "#/components/responses/FORBIDDEN_403_AIS" '404': $ref: "#/components/responses/NOT_FOUND_404_AIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_AIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_AIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_AIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" /v1/consents/{consentId}: get: summary: Get Consent Request description: | Returns the content of an account information consent object. This is returning the data for the TPP especially in cases, where the consent was directly managed between ASPSP and PSU e.g. in a re-direct SCA Approach. operationId: getConsentInformation tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" delete: summary: Delete Consent description: The TPP can delete an account information consent object if needed. operationId: deleteConsent tags: - Account Information Service (AIS) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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: post: summary: Start the authorisation process for a consent description: | Create an authorisation sub-resource and start the authorisation process of a consent. The message might in addition transmit authentication and authorisation related data. his method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the consent. The ASPSP might make the usage of this access method unnecessary, since the related authorisation resource will be automatically created by the ASPSP after the submission of the consent data with the first POST consents call. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Initiation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms. * 'startAuthorisationWithPsuIdentfication', * 'startAuthorisationWithPsuAuthentication' #TODO * 'startAuthorisationWithAuthentciationMethodSelection' * The related payment initiation cannot yet be executed since a multilevel SCA is mandated. * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above. * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation. * The signing basket needs to be authorised yet. operationId: startConsentAuthorisation tags: - Account Information Service (AIS) - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '201': $ref: "#/components/responses/CREATED_201_StartScaProcess" '400': $ref: "#/components/responses/BAD_REQUEST_400_AIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_AIS" '403': $ref: "#/components/responses/FORBIDDEN_403_AIS" '404': $ref: "#/components/responses/NOT_FOUND_404_AIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_AIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_AIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_AIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" 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) security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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 security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #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" '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" put: summary: Update PSU Data for consents description: | This method update PSU data on the consents resource if needed. It may authorise a consent within the Embedded SCA Approach where needed. Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication. This methods updates PSU data on the cancellation authorisation resource if needed. There are several possible Update PSU Data requests in the context of a consent request if needed, which depends on the SCA approach: * Redirect SCA Approach: A specific Update PSU Data Request is applicable for * the selection of authentication methods, before choosing the actual SCA approach. * Decoupled SCA Approach: A specific Update PSU Data Request is only applicable for * adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or * the selection of authentication methods. * Embedded SCA Approach: The Update PSU Data Request might be used * to add credentials as a first factor authentication data of the PSU and * to select the authentication method and * transaction authorisation. The SCA Approach might depend on the chosen SCA method. For that reason, the following possible Update PSU Data request can apply to all SCA approaches: * Select an SCA method in case of several SCA methods are available for the customer. There are the following request types on this access path: * Update PSU Identification * Update PSU Authentication * Select PSU Autorization Method WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. * Transaction Authorisation WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. operationId: updateConsentsPsuData tags: - Account Information Service (AIS) - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #query # NO QUERY PARAMETER #header #path - $ref: "#/components/parameters/consentId_PATH" - $ref: "#/components/parameters/authorisationId" #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements # Not always allowed depending on the kind of update which is ask for - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #conditional elemention for AIS - $ref: "#/components/parameters/PSU-IP-Address_conditionalForAis" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" requestBody: content: application/json: schema: oneOf: - {} #Update PSU Identification - $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication - $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method - $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation examples: "Update PSU Identification/Additional SCA Process (Embedded Approach)": value: {} "Update PSU Authentication (Embedded Approach)": $ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" "Select PSU Authentication Method (Embedded Approach)": $ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" "Transaction Authorisation (Embedded Approach)": $ref: "#/components/examples/transactionAuthorisationExample_Embedded" responses: '200': $ref: "#/components/responses/OK_200_UpdatePsuData" '400': $ref: "#/components/responses/BAD_REQUEST_400_AIS" '401': $ref: "#/components/responses/UNAUTHORIZED_401_AIS" '403': $ref: "#/components/responses/FORBIDDEN_403_AIS" '404': $ref: "#/components/responses/NOT_FOUND_404_AIS" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_AIS" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_AIS" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_AIS" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_AIS" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_AIS" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_AIS" ##################################################### # 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 linked to a given tuple card issuer(TPP)/card number, or addressed by IBAN and TPP respectively 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" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" 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" '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" ##################################################### # Signing Basket ##################################################### /v1/signing-baskets: post: summary: Create a signing basket resource description: | Create a signing basket resource for authorising several transactions with one SCA method. The resource identifications of these transactions are contained in the payload of this access method operationId: createSigningBasket tags: - Signing Baskets security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] 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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" - $ref: "#/components/parameters/consentId_HEADER_optional" - $ref: "#/components/parameters/PSU-IP-Address_mandatory" - $ref: "#/components/parameters/TPP-Redirect-Preferred" - $ref: "#/components/parameters/TPP-Redirect-URI" - $ref: "#/components/parameters/TPP-Nok-Redirect-URI" - $ref: "#/components/parameters/TPP-Explicit-Authorisation-Preferred" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" requestBody: $ref: "#/components/requestBodies/signingBasket" responses: '201': $ref: "#/components/responses/CREATED_201_SigningBasket" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" /v1/signing-baskets/{basketId}: get: summary: Returns the content of an signing basket object. description: Returns the content of an signing basket object. operationId: getSigningBasket tags: - Signing Baskets security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path # NO PATH PARAMETER - $ref: "#/components/parameters/basketId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_GetSigningBasket" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" delete: summary: Delete the signing basket description: | Delete the signing basket structure as long as no (partial) authorisation has yet been applied. The undlerying transactions are not affected by this deletion. Remark: The signing basket as such is not deletable after a first (partial) authorisation has been applied. Nevertheless, single transactions might be cancelled on an individual basis on the XS2A interface. operationId: deleteSigningBasket tags: - Signing Baskets - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/basketId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '204': $ref: "#/components/responses/NO_CONTENT_204_SigningBasket" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" /v1/signing-baskets/{basketId}/status: get: summary: Read the status of the signing basket description: | Returns the status of a signing basket object. operationId: getSigningBasketStatus tags: - Signing Baskets - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/basketId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_SigningBasketStatus" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" /v1/signing-baskets/{basketId}/authorisations: post: summary: Start the authorisation process for a signing basket description: | Create an authorisation sub-resource and start the authorisation process of a signing basket. The message might in addition transmit authentication and authorisation related data. This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the signing-baskets. The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST signing basket call. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Initiation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms. * 'startAuthorisationWithPsuIdentfication', * 'startAuthorisationWithPsuAuthentication' #TODO * 'startAuthorisationWithAuthentciationMethodSelection' * The related payment initiation cannot yet be executed since a multilevel SCA is mandated. * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above. * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation. * The signing basket needs to be authorised yet. operationId: startSigningBasketAuthorisation tags: - Signing Baskets - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/basketId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '201': $ref: "#/components/responses/CREATED_201_StartScaProcess" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" get: summary: Get Signing Basket 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: getSigningBasketAuthorisation tags: - Signing Baskets - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/basketId_PATH" #query # NO QUERY PARAMETER #header #common header parameter - $ref: "#/components/parameters/X-Request-ID" #header to support the signature function - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_Authorisations" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" /v1/signing-baskets/{basketId}/authorisations/{authorisationId}: put: summary: Update PSU Data for signing basket description: | This method update PSU data on the signing basket resource if needed. It may authorise a igning basket within the Embedded SCA Approach where needed. Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication. This methods updates PSU data on the cancellation authorisation resource if needed. There are several possible Update PSU Data requests in the context of a consent request if needed, which depends on the SCA approach: * Redirect SCA Approach: A specific Update PSU Data Request is applicable for * the selection of authentication methods, before choosing the actual SCA approach. * Decoupled SCA Approach: A specific Update PSU Data Request is only applicable for * adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or * the selection of authentication methods. * Embedded SCA Approach: The Update PSU Data Request might be used * to add credentials as a first factor authentication data of the PSU and * to select the authentication method and * transaction authorisation. The SCA Approach might depend on the chosen SCA method. For that reason, the following possible Update PSU Data request can apply to all SCA approaches: * Select an SCA method in case of several SCA methods are available for the customer. There are the following request types on this access path: * Update PSU Identification * Update PSU Authentication * Select PSU Autorization Method WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. * Transaction Authorisation WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. operationId: updateSigningBasketPsuData tags: - Signing Baskets - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/basketId_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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #method specific header elements # Not always allowed depending on the kind of update which is ask for - $ref: "#/components/parameters/PSU-ID" - $ref: "#/components/parameters/PSU-ID-Type" - $ref: "#/components/parameters/PSU-Corporate-ID" - $ref: "#/components/parameters/PSU-Corporate-ID-Type" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" requestBody: content: application/json: schema: oneOf: - {} #Update PSU Identification - $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication - $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method - $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation examples: "Update PSU Identification (Embedded Approach)": value: {} "Update PSU Authentication (Embedded Approach)": $ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" "Select PSU Authentication Method (Embedded Approach)": $ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" "Transaction Authorisation (Embedded Approach)": $ref: "#/components/examples/transactionAuthorisationExample_Embedded" responses: '200': $ref: "#/components/responses/OK_200_UpdatePsuData" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" get: summary: Read the SCA status of the signing basket authorisation description: | This method returns the SCA status of a signing basket's authorisation sub-resource. operationId: getSigningBasketScaStatus tags: - Signing Baskets - Common Services security: ##################################################### # REMARKS ON SECURITY IN THIS OPENAPI FILE #In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### - {} - BearerAuthOAuth: [] parameters: #path - $ref: "#/components/parameters/basketId_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 - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/TPP-Signature-Certificate" #optional additional PSU Information in header - $ref: "#/components/parameters/PSU-IP-Address_optional" - $ref: "#/components/parameters/PSU-IP-Port" - $ref: "#/components/parameters/PSU-Accept" - $ref: "#/components/parameters/PSU-Accept-Charset" - $ref: "#/components/parameters/PSU-Accept-Encoding" - $ref: "#/components/parameters/PSU-Accept-Language" - $ref: "#/components/parameters/PSU-User-Agent" - $ref: "#/components/parameters/PSU-Http-Method" - $ref: "#/components/parameters/PSU-Device-ID" - $ref: "#/components/parameters/PSU-Geo-Location" #NO REQUEST BODY responses: '200': $ref: "#/components/responses/OK_200_ScaStatus" '400': $ref: "#/components/responses/BAD_REQUEST_400_SB" '401': $ref: "#/components/responses/UNAUTHORIZED_401_SB" '403': $ref: "#/components/responses/FORBIDDEN_403_SB" '404': $ref: "#/components/responses/NOT_FOUND_404_SB" '405': $ref: "#/components/responses/METHOD_NOT_ALLOWED_405_SB" '406': $ref: "#/components/responses/NOT_ACCEPTABLE_406_SB" '408': $ref: "#/components/responses/REQUEST_TIMEOUT_408_SB" '415': $ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SB" '429': $ref: "#/components/responses/TOO_MANY_REQUESTS_429_SB" '500': $ref: "#/components/responses/INTERNAL_SERVER_ERROR_500_SB" '503': $ref: "#/components/responses/SERVICE_UNAVAILABLE_503_SB" components: ##################################################### # Predefined Components ##################################################### securitySchemes: ##################################################### # Predefined Security Schemes: # # In this file only the basic security element to transport # the bearer token of an an OAuth2 process, which has to # be included inthe HTTP header ist described. # # WARNING: # If you want to use this file for a productive implementation, # it is recommandes to adjust the security schemes according to # your system enviroments and security policies. ##################################################### BearerAuthOAuth: description: | Bearer Token. Is contained only, if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding AIS service in the same session. type: http scheme: bearer schemas: ##################################################### # Predefined Schemas ##################################################### paymentId: description: Resource identification of the generated payment initiation resource. type: string example: "1234-wertiq-983" paymentIdList: description: A list of paymentIds type: array minItems: 1 items: $ref: "#/components/schemas/paymentId" basketId: description: Resource identification of the generated signing basket resource. type: string example: "1234-basket-567" authorisationId: description: Resource identification of the related SCA type: string example: "123auth456" authenticationMethodId: description: | An identification provided by the ASPSP for the later identification of the authentication method selection. type: string maxLength: 35 example: "myAuthenticationID" accountId: description: This identification is denoting the addressed account, where the transaction has been performed. type: string example: "qwer3456tzui7890" consentId: description: | ID of the corresponding consent object as returned by an Account Information Consent Request. type: string consentIdList: description: A list of consentIds type: array minItems: 1 items: $ref: "#/components/schemas/consentId" resourceId: description: | This identification is given by the attribute resourceId of the corresponding entry of a transaction list. type: string example: "3dc3d5b3-7023-4848-9853-f5400a64e80f" cancellationId: description: Identification for cancellation resource type: string example: "123auth456" cardTransactionId: description: Unique end to end identity. type: string maxLength: 35 terminalId: description: Identification of the Terminal, where the card has been used. type: string maxLength: 35 entryReference: description: | Is the identification of the transaction as used e.g. for reference for deltafunction on application level. type: string maxLength: 35 transactionStatus: description: | The transaction status is filled with codes of the ISO 20022 data table: - 'ACCC': 'AcceptedSettlementCompleted' - Settlement on the creditor's account has been completed. - 'ACCP': 'AcceptedCustomerProfile' - Preceding check of technical validation was successful. Customer profile check was also successful. - 'ACSC': 'AcceptedSettlementCompleted' - Settlement on the debtor�s account has been completed. **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. **Warning:** this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement. - 'ACSP': 'AcceptedSettlementInProcess' - All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution. - 'ACTC': 'AcceptedTechnicalValidation' - Authentication and syntactical and semantical validation are successful. - 'ACWC': 'AcceptedWithChange' - Instruction is accepted but a change will be made, such as date or remittance not sent. - 'ACWP': 'AcceptedWithoutPosting' - Payment instruction included in the credit transfer is accepted without being posted to the creditor customer�s account. - 'RCVD': 'Received' - Payment initiation has been received by the receiving agent. - 'PDNG': 'Pending' - Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed. - 'RJCT': 'Rejected' - Payment initiation or individual transaction included in the payment initiation has been rejected. - 'CANC': 'Cancelled' Payment initiation has been cancelled before execution Remark: This code is still requested from ISO20022. - 'ACFC': 'AcceptedFundsChecked' - Preceeding check of technical validation and customer profile was successful and an automatic funds check was positive . Remark: This code is still requested from ISO20022. - 'PATC': 'PartiallyAcceptedTechnical' Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful. Remark: This code is still requested from ISO20022. type: string enum: - "ACCC" - "ACCP" - "ACSC" - "ACSP" - "ACTC" - "ACWC" - "ACWP" - "RCVD" - "PDNG" - "RJCT" - "CANC" - "ACFC" - "PATC" example: "ACCP" transactionStatus_SB: description: | The transaction status is filled with codes of the ISO 20022 data table. Only the codes RCVD, PATC, ACTC, ACWC and RJCT are used: - 'ACSP': 'AcceptedSettlementInProcess' - All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution. - 'ACTC': 'AcceptedTechnicalValidation' - Authentication and syntactical and semantical validation are successful. - 'ACWC': 'AcceptedWithChange' - Instruction is accepted but a change will be made, such as date or remittance not sent. - 'RCVD': 'Received' - Payment initiation has been received by the receiving agent. - 'RJCT': 'Rejected' - Payment initiation or individual transaction included in the payment initiation has been rejected. type: string enum: - "ACSC" - "ACTC" - "ACWC" - "RCVD" - "RJCT" example: "RCVD" scaStatus: description: | This data element is containing information about the status of the SCA method applied. The following codes are defined for this data type. * 'received': An authorisation or cancellation-authorisation resource has been created successfully. * 'psuIdentified': The PSU related to the authorisation or cancellation-authorisation resource has been identified. * 'psuAuthenticated': The PSU related to the authorisation or cancellation-authorisation resource has been identified and authenticated e.g. by a password or by an access token. * 'scaMethodSelected': The PSU/TPP has selected the related SCA routine. If the SCA method is chosen implicitly since only one SCA method is available, then this is the first status to be reported instead of 'received'. * 'started': The addressed SCA routine has been started. * 'finalised': The SCA routine has been finalised successfully. * 'failed': The SCA routine failed * 'exempted': SCA was exempted for the related transaction, the related authorisation is successful. type: string enum: - "received" - "psuIdentified" - "psuAuthenticated" - "scaMethodSelected" - "started" - "finalised" - "failed" - "exempted" example: "psuAuthenticated" scaAuthenticationData: description: | SCA authentication data, depending on the chosen authentication method. If the data is binary, then it is base64 encoded. type: string consentStatus: description: | This is the overall lifecycle status of the consent. Valid values are: - 'received': The consent data have been received and are technically correct. The data is not authorised yet. - 'rejected': The consent data have been rejected e.g. since no successful authorisation has taken place. - 'valid': The consent is accepted and valid for GET account data calls and others as specified in the consent object. - 'revokedByPsu': The consent has been revoked by the PSU towards the ASPSP. - 'expired': The consent expired. - 'terminatedByTpp': The corresponding TPP has terminated the consent by applying the DELETE method to the consent resource. The ASPSP might add further codes. These codes then shall be contained in the ASPSP's documentation of the XS2A interface and has to be added to this API definition as well. type: string enum: - "received" - "rejected" - "valid" - "revokedByPsu" - "expired" - "terminatedByTpp" transactionFeeIndicator: description: | If equals 'true', the transaction will involve specific transaction cost as shown by the ASPSP in their public price list or as agreed between ASPSP and PSU. If equals 'false', the transaction will not involve additional specific transaction costs to the PSU. type: boolean recurringIndicator: description: | "true", if the consent is for recurring access to the account data. "false", if the consent is for one access to the account data. type: boolean example: false combinedServiceIndicator: description: | If "true" indicates that a payment initiation service will be addressed in the same "session". type: boolean example: false batchBookingPreferred: description: | If this element equals 'true', the PSU prefers only one booking entry. If this element equals 'false', the PSU prefers individual booking of all contained individual transactions. The ASPSP will follow this preference according to contracts agreed on with the PSU. type: boolean example: false scaMethods: description: | This data element might be contained, if SCA is required and if the PSU has a choice between different authentication methods. Depending on the risk management of the ASPSP this choice might be offered before or after the PSU has been identified with the first relevant factor, or if an access token is transported. If this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection' contained in the response body. These methods shall be presented towards the PSU for selection by the TPP. type: array items: $ref: "#/components/schemas/authenticationObject" chosenScaMethod: # description: | # This data element is only contained in the response if the APSPS has chosen the Embedded SCA Approach, # if the PSU is already identified e.g. with the first relevant factor or alternatively an access token, # if SCA is required and if the authentication method is implicitly selected. $ref: "#/components/schemas/authenticationObject" authenticationType: description: | Type of the authentication method. More authentication types might be added during implementation projects and documented in the ASPSP documentation. - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel. - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. an TOP derived from an EMV cryptogram. To contact the card, the PSU normally needs a (handheld) device. With this device, the PSU either reads the challenging data through a visual interface like flickering or the PSU types in the challenge through the device key pad. The device then derives an OTP from the challenge data and displays the OTP to the PSU. - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data which can be read in by a consumer device or specific mobile app. The device resp. the specific app than derives an OTP from the visual challenge data and displays the OTP to the PSU. - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU. type: string enum: - "SMS_OTP" - "CHIP_OTP" - "PHOTO_OTP" - "PUSH_OTP" authenticationObject: description: | Authentication Object type: object required: - authenticationType - authenticationMethodId properties: authenticationType: $ref: "#/components/schemas/authenticationType" authenticationVersion: description: | Depending on the "authenticationType". This version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type. This version can be referred to in the ASPSP?s documentation. type: string authenticationMethodId: $ref: "#/components/schemas/authenticationMethodId" name: description: | This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP. Alternatively this could be a description provided by the ASPSP like "SMS OTP on phone +49160 xxxxx 28". This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available. type: string example: "SMS OTP on phone +49160 xxxxx 28" explanation: description: | Detailed information about the SCA method for the PSU. type: string example: Detailed information about the SCA method for the PSU. signingBasket: description: | JSON Body of a establish signing basket request. The body shall contain at least one entry. type: object properties: paymentIds: $ref: "#/components/schemas/paymentIdList" consentIds: $ref: "#/components/schemas/consentIdList" challengeData: description: | It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA. In rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link. type: object properties: image: type: string format: byte description: | PNG data (max. 512 kilobyte) to be displayed to the PSU, Base64 encoding, cp. [RFC4648]. This attribute is used only, when PHOTO_OTP or CHIP_OTP is the selected SCA method. data: type: string description: String challenge data imageLink: type: string format: url description: A link where the ASPSP will provides the challenge image for the TPP. otpMaxLength: type: integer description: The maximal length for the OTP to be typed in by the PSU. otpFormat: type: string description: The format type of the OTP to be typed in. The admitted values are "characters" or "integer". enum: - "characters" - "integer" additionalInformation: type: string description: | Additional explanation for the PSU to explain e.g. fallback mechanism for the chosen SCA method. The TPP is obliged to show this to the PSU. hrefType: description: Link to a resource type: string example: "/v1/payments/sepa-credit-transfers/1234-wertiq-983" authorisationsList: description: An array of all authorisationIds type: array items: $ref: "#/components/schemas/authorisationId" authorisations: description: An array of all authorisationIds type: object required: - authorisationIds properties: authorisationIds: $ref: "#/components/schemas/authorisationsList" accountReference: description: | Reference to an account by either * IBAN, of a payment accounts, or * BBAN, for payment accounts if there is no IBAN, or * the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or * the Primary Account Number (PAN) of a card in a masked form, or * an alias to access a payment account via a registered mobile phone number (MSISDN). type: object properties: iban: $ref: "#/components/schemas/iban" bban: $ref: "#/components/schemas/bban" pan: $ref: "#/components/schemas/pan" maskedPan: $ref: "#/components/schemas/maskedPan" msisdn: $ref: "#/components/schemas/msisdn" currency: $ref: "#/components/schemas/currencyCode" # accountReferenceIban: # type: object # description: | # Reference to an account by the Primary Account Number (PAN) of a card, # can be tokenised by the ASPSP due to PCI DSS requirements. # required: # - iban # properties: # iban: # $ref: "#/components/schemas/iban" # currency: # $ref: "#/components/schemas/currencyCode" # accountReferenceBban: # type: object # description: | # Reference to an Account. # # This data elements is used for payment accounts which have no IBAN. # required: # - bban # properties: # bban: # $ref: "#/components/schemas/bban" # currency: # $ref: "#/components/schemas/currencyCode" # accountReferencePan: # type: object # description: | # Reference to an account by the Primary Account Number (PAN) of a card, # can be tokenised by the ASPSP due to PCI DSS requirements. # required: # - pan # properties: # pan: # $ref: "#/components/schemas/pan" # currency: # $ref: "#/components/schemas/currencyCode" # accountReferenceMaskedPan: # type: object # description: | # Reference to an account by the Primary Account Number (PAN) of a card in a masked form. # required: # - maskedPan # properties: # maskedPan: # $ref: "#/components/schemas/maskedPan" # currency: # $ref: "#/components/schemas/currencyCode" # # accountReferenceMsisdn: # type: object # description: | # An alias to access a payment account via a registered mobile phone number. # required: # - msisdn # properties: # msisdn: # $ref: "#/components/schemas/msisdn" # currency: # $ref: "#/components/schemas/currencyCode" balanceType: description: | The following balance types are defined: - "closingBooked": Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period. For card-accounts, this is composed of - invoiced, but not yet paid entries - "expected": Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted. For card accounts, this is composed of - invoiced, but not yet paid entries, - not yet invoiced but already booked entries and - pending items (not yet booked) - "authorised": The expected balance together with the value of a pre-approved credit line the ASPSP makes permanently available to the user. For card-accounts: "money to spend with the value of a pre-approved credit limit on the card account" - "openingBooked": Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report. - "interimAvailable": Available balance calculated in the course of the account ?servicer?s business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified. For card-accounts, this is composed of - invoiced, but not yet paid entries, - not yet invoiced but already booked entries - "forwardAvailable": Forward available balance of money that is at the disposal of the account owner on the date specified. - "nonInvoiced": Only for card accounts, to be checked yet. type: string enum: - "closingBooked" - "expected" - "authorised" - "openingBooked" - "interimAvailable" - "forwardAvailable" - "nonInvoiced" accountAccess: description: | Requested access services for a consent. type: object properties: accounts: description: | Is asking for detailed account information. If the array is empty, the TPP is asking for an accessible account list. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for balances or transactions shall be empty, if used. type: array items: $ref: "#/components/schemas/accountReference" balances: description: | Is asking for balances of the addressed accounts. If the array is empty, the TPP is asking for the balances of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for accounts or transactions shall be empty, if used. type: array items: $ref: "#/components/schemas/accountReference" transactions: description: | Is asking for transactions of the addressed accounts. If the array is empty, the TPP is asking for the transactions of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for accounts or balances shall be empty, if used. type: array items: $ref: "#/components/schemas/accountReference" availableAccounts: description: | Optional if supported by API provider. Only the values "allAccounts" or "allAccountsWithBalances" is admitted. type: string enum: - "allAccounts" - "allAccountsWithBalances" allPsd2: description: | Optional if supported by API provider. Only the value "allAccounts" is admitted. type: string enum: - "allAccounts" cashAccountType: description: | ExternalCashAccountType1Code from ISO 20022. type: string accountStatus: description: | Account status. The value is one of the following: - "enabled": account is available - "deleted": account is terminated - "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification. type: string enum: - "enabled" - "deleted" - "blocked" accountDetails: description: | The ASPSP shall give at least one of the account reference identifiers: - iban - bban - pan - maskedPan - msisdn If the account is a multicurrency account currency code in "currency" is set to "XXX". type: object required: - currency properties: resourceId: description: This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint. type: string iban: $ref: "#/components/schemas/iban" bban: $ref: "#/components/schemas/bban" msisdn: $ref: "#/components/schemas/msisdn" currency: $ref: "#/components/schemas/currencyCode" name: description: Name of the account given by the bank or the PSU in online-banking. type: string maxLength: 35 product: description: Product name of the bank for this account, proprietary definition. type: string maxLength: 35 cashAccountType: $ref: "#/components/schemas/cashAccountType" status: $ref: "#/components/schemas/accountStatus" bic: $ref: "#/components/schemas/bicfi" linkedAccounts: description: Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on. type: string maxLength: 70 usage: description: | Specifies the usage of the account * PRIV: private personal account * ORGA: professional account type: string maxLength: 4 enum: - "PRIV" - "ORGA" details: description: | Specifications that might be provided by the ASPSP - characteristics of the account - characteristics of the relevant card type: string maxLength: 140 balances: $ref: "#/components/schemas/balanceList" _links: $ref: "#/components/schemas/_linksAccountDetails" cardAccountDetails: description: | Card account details type: object required: - maskedPan - currency properties: resourceId: description: | This is the data element to be used in the path when retrieving data from a dedicated account. This shall be filled, if addressable resource are created by the ASPSP on the /card-accounts endpoint. type: string maskedPan: $ref: "#/components/schemas/maskedPan" currency: $ref: "#/components/schemas/currencyCode" name: description: Name of the account given by the bank or the PSU in online-banking. type: string maxLength: 35 product: description: Product name of the bank for this account, proprietary definition. type: string maxLength: 35 status: $ref: "#/components/schemas/accountStatus" usage: description: | Specifies the usage of the account * PRIV: private personal account * ORGA: professional account type: string maxLength: 4 enum: - "PRIV" - "ORGA" details: description: | Specifications that might be provided by the ASPSP - characteristics of the account - characteristics of the relevant card type: string maxLength: 140 creditLimit: $ref: "#/components/schemas/amount" 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" cardAccountList: description: | List of card accounts with details. type: object required: - cardAccounts properties: cardAccounts: type: array items: $ref: "#/components/schemas/cardAccountDetails" accountReport: description: | JSON based account report. This account report contains transactions resulting from the query parameters. 'booked' shall be contained if bookingStatus parameter is set to "booked" or "both". 'pending' is not contained if the bookingStatus parameter is set to "booked". type: object required: - _links properties: booked: $ref: "#/components/schemas/transactionList" pending: $ref: "#/components/schemas/transactionList" _links: $ref: "#/components/schemas/_linksAccountReport" cardAccountReport: description: | JSON based card account report. This card account report contains transactions resulting from the query parameters. type: object required: - booked - _links properties: booked: $ref: "#/components/schemas/cardTransactionList" pending: $ref: "#/components/schemas/cardTransactionList" _links: $ref: "#/components/schemas/_linksCardAccountReport" transactionList: description: Array of transaction details type: array items: $ref: "#/components/schemas/transactionDetails" cardTransactionList: description: Array of transaction details type: array items: $ref: "#/components/schemas/cardTransaction" transactionDetails: description: Transaction details type: object required: - transactionAmount properties: transactionId: description: | the Transaction Id can be used as access-ID in the API, where more details on an transaction is offered. If this data attribute is provided this shows that the AIS can get access on more details about this transaction using the GET Transaction Details Request type: string entryReference: description: | Is the identification of the transaction as used e.g. for reference for deltafunction on application level. The same identification as for example used within camt.05x messages. type: string maxLength: 35 endToEndId: description: Unique end to end identity. type: string maxLength: 35 mandateId: description: Identification of Mandates, e.g. a SEPA Mandate ID. type: string maxLength: 35 checkId: description: Identification of a Cheque. type: string maxLength: 35 creditorId: description: Identification of Creditors, e.g. a SEPA Creditor ID. type: string maxLength: 35 bookingDate: $ref: "#/components/schemas/bookingDate" valueDate: description: The Date at which assets become available to the account owner in case of a credit. type: string format: date transactionAmount: $ref: "#/components/schemas/amount" exchangeRate: $ref: "#/components/schemas/exchangeRateList" creditorName: $ref: "#/components/schemas/creditorName" creditorAccount: $ref: "#/components/schemas/accountReference" ultimateCreditor: $ref: "#/components/schemas/ultimateCreditor" debtorName: $ref: "#/components/schemas/debtorName" debtorAccount: $ref: "#/components/schemas/accountReference" ultimateDebtor: $ref: "#/components/schemas/ultimateDebtor" remittanceInformationUnstructured: type: string maxLength: 140 remittanceInformationStructured: description: | Reference as contained in the structured remittance reference structure (without the surrounding XML structure). Different from other places the content is containt in plain form not in form of a structered field. type: string maxLength: 140 purposeCode: $ref: "#/components/schemas/purposeCode" bankTransactionCode: $ref: "#/components/schemas/bankTransactionCode" proprietaryBankTransactionCode: $ref: "#/components/schemas/proprietaryBankTransactionCode" _links: $ref: "#/components/schemas/_linksTransactionDetails" cardTransaction: description: Card transaction information type: object required: - transactionAmount properties: cardTransactionId: $ref: "#/components/schemas/cardTransactionId" terminalId: $ref: "#/components/schemas/terminalId" transactionDate: $ref: "#/components/schemas/transactionDate" bookingDate: $ref: "#/components/schemas/bookingDate" transactionAmount: $ref: "#/components/schemas/amount" exchangeRate: $ref: "#/components/schemas/exchangeRateList" originalAmount: $ref: "#/components/schemas/amount" markupFee: $ref: "#/components/schemas/amount" markupFeePercentage: #description: Percentage of the involved transaction fee in relation to the billing amount. type: string cardAcceptorId: #description: Identification of the Card Acceptor (e.g. merchant) as given in the related card transaction. type: string maxLength: 35 cardAcceptorAddress: $ref: "#/components/schemas/address" cardAcceptorCategoryCode: $ref: "#/components/schemas/cardAcceptorCategoryCode" maskedPAN: $ref: "#/components/schemas/maskedPan" transactionDetails: type: string maxLength: 140 invoiced: type: boolean proprietaryBankTransactionCode: $ref: "#/components/schemas/proprietaryBankTransactionCode" exchangeRateList: description: Array of exchange rates type: array items: $ref: "#/components/schemas/exchangeRate" exchangeRate: description: Exchange Rate type: object required: - sourceCurrency - rate - unitCurrency - targetCurrency - rateDate properties: sourceCurrency: $ref: "#/components/schemas/currencyCode" rate: type: string unitCurrency: type: string targetCurrency: $ref: "#/components/schemas/currencyCode" rateDate: type: string format: date rateContract: type: string balance: description: | A single balance element type: object required: - balanceAmount - balanceType properties: balanceAmount: $ref: "#/components/schemas/amount" balanceType: $ref: "#/components/schemas/balanceType" lastChangeDateTime: description: | This data element might be used to indicate e.g. with the expected or booked balance that no action is known on the account, which is not yet booked. type: string format: date-time referenceDate: description: Reference date of the balance type: string format: date lastCommittedTransaction: description: | "entryReference" of the last commited transaction to support the TPP in identifying whether all PSU transactions are already known. type: string maxLength: 35 balanceList: description: | A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. type: array items: $ref: "#/components/schemas/balance" cancellationList: description: An array of all cancellationIds connected to this resource. type: array items: $ref: "#/components/schemas/cancellationId" bicfi: description: | BICFI type: string pattern: "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}" example: "AAAADEBBXXX" pan: description: | Primary Account Number according to ISO/IEC 7812. type: string maxLength: 35 #According to ISO the following should be valid. #maxLength: 19 #minLength: 8 #pattern: "[0-9]{8,19}" example: "5409050000000000" maskedPan: description: | Masked Primary Account Number type: string maxLength: 35 example: "123456xxxxxx1234" bban: description: | Basic Bank Account Number (BBAN) Identifier This data element can be used in the body of the Consent Request Message for retrieving Account access Consent from this Account. This data elements is used for payment Accounts which have no IBAN. ISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer. type: string pattern: "[a-zA-Z0-9]{1,30}" example: "BARC12345612345678" msisdn: type: string maxLength: 35 description: Mobile phone number. example: "+49 170 1234567" iban: type: string description: IBAN of an account pattern: "[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}" example: "FR7612345987650123456789014" address: type: object required: - country properties: street: type: string maxLength: 70 buildingNumber: type: string city: type: string postalCode: type: string country: $ref: "#/components/schemas/countryCode" example: { street: "rue blue", buildingnNumber: "89", city: "Paris", postalCode: "75000", country: "FR" } countryCode: description: ISO 3166 ALPHA2 country code type: string pattern: "[A-Z]{2}" example: "SE" amount: type: object required: - currency - amount properties: currency: $ref: "#/components/schemas/currencyCode" amount: $ref: "#/components/schemas/amountValue" example: { "currency": "EUR", "amount": "123" } currencyCode: description: | ISO 4217 Alpha 3 currency code type: string pattern: "[A-Z]{3}" example: "EUR" amountValue: description: | The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot. **Example:** Valid representations for EUR with up to two decimals are: * 1056 * 5768.2 * -1.50 * 5877.78 type: string pattern: "-?[0-9]{1,14}(\\.[0-9]{1,3})?" example: "5877.78" remittanceInformationStructured: description: | Structured remittance information type: object required: - reference properties: reference: type: string maxLength: 35 referenceType: type: string maxLength: 35 referenceIssuer: type: string maxLength: 35 remittanceInformationUnstructured: description: | Unstructured remittance information type: string maxLength: 140 example: "Ref Number Merchant" ##################################################### # Predefined Text Formats ##################################################### purposeCode: description: | ExternalPurpose1Code from ISO 20022. Values from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018. type: string enum: - "BKDF" - "BKFE" - "BKFM" - "BKIP" - "BKPP" - "CBLK" - "CDCB" - "CDCD" - "CDCS" - "CDDP" - "CDOC" - "CDQC" - "ETUP" - "FCOL" - "MTUP" - "ACCT" - "CASH" - "COLL" - "CSDB" - "DEPT" - "INTC" - "LIMA" - "NETT" - "BFWD" - "CCIR" - "CCPC" - "CCPM" - "CCSM" - "CRDS" - "CRPR" - "CRSP" - "CRTL" - "EQPT" - "EQUS" - "EXPT" - "EXTD" - "FIXI" - "FWBC" - "FWCC" - "FWSB" - "FWSC" - "MARG" - "MBSB" - "MBSC" - "MGCC" - "MGSC" - "OCCC" - "OPBC" - "OPCC" - "OPSB" - "OPSC" - "OPTN" - "OTCD" - "REPO" - "RPBC" - "RPCC" - "RPSB" - "RPSC" - "RVPO" - "SBSC" - "SCIE" - "SCIR" - "SCRP" - "SHBC" - "SHCC" - "SHSL" - "SLEB" - "SLOA" - "SWBC" - "SWCC" - "SWPT" - "SWSB" - "SWSC" - "TBAS" - "TBBC" - "TBCC" - "TRCP" - "AGRT" - "AREN" - "BEXP" - "BOCE" - "COMC" - "CPYR" - "GDDS" - "GDSV" - "GSCB" - "LICF" - "MP2B" - "POPE" - "ROYA" - "SCVE" - "SERV" - "SUBS" - "SUPP" - "TRAD" - "CHAR" - "COMT" - "MP2P" - "ECPG" - "ECPR" - "ECPU" - "EPAY" - "CLPR" - "COMP" - "DBTC" - "GOVI" - "HLRP" - "HLST" - "INPC" - "INPR" - "INSC" - "INSU" - "INTE" - "LBRI" - "LIFI" - "LOAN" - "LOAR" - "PENO" - "PPTI" - "RELG" - "RINP" - "TRFD" - "FORW" - "FXNT" - "ADMG" - "ADVA" - "BCDM" - "BCFG" - "BLDM" - "BNET" - "CBFF" - "CBFR" - "CCRD" - "CDBL" - "CFEE" - "CGDD" - "CORT" - "COST" - "CPKC" - "DCRD" - "DSMT" - "DVPM" - "EDUC" - "FACT" - "FAND" - "FCPM" - "FEES" - "GOVT" - "ICCP" - "IDCP" - "IHRP" - "INSM" - "IVPT" - "MCDM" - "MCFG" - "MSVC" - "NOWS" - "OCDM" - "OCFG" - "OFEE" - "OTHR" - "PADD" - "PTSP" - "RCKE" - "RCPT" - "REBT" - "REFU" - "RENT" - "REOD" - "RIMB" - "RPNT" - "RRBN" - "RVPM" - "SLPI" - "SPLT" - "STDY" - "TBAN" - "TBIL" - "TCSC" - "TELI" - "TMPG" - "TPRI" - "TPRP" - "TRNC" - "TRVC" - "WEBI" - "ANNI" - "CAFI" - "CFDI" - "CMDT" - "DERI" - "DIVD" - "FREX" - "HEDG" - "INVS" - "PRME" - "SAVG" - "SECU" - "SEPI" - "TREA" - "UNIT" - "FNET" - "FUTR" - "ANTS" - "CVCF" - "DMEQ" - "DNTS" - "HLTC" - "HLTI" - "HSPC" - "ICRF" - "LTCF" - "MAFC" - "MARF" - "MDCS" - "VIEW" - "CDEP" - "SWFP" - "SWPP" - "SWRS" - "SWUF" - "ADCS" - "AEMP" - "ALLW" - "ALMY" - "BBSC" - "BECH" - "BENE" - "BONU" - "CCHD" - "COMM" - "CSLP" - "GFRP" - "GVEA" - "GVEB" - "GVEC" - "GVED" - "GWLT" - "HREC" - "PAYR" - "PEFC" - "PENS" - "PRCP" - "RHBS" - "SALA" - "SSBE" - "LBIN" - "LCOL" - "LFEE" - "LMEQ" - "LMFI" - "LMRK" - "LREB" - "LREV" - "LSFL" - "ESTX" - "FWLV" - "GSTX" - "HSTX" - "INTX" - "NITX" - "PTXP" - "RDTX" - "TAXS" - "VATX" - "WHLD" - "TAXR" - "B112" - "BR12" - "TLRF" - "TLRR" - "AIRB" - "BUSB" - "FERB" - "RLWY" - "TRPT" - "CBTV" - "ELEC" - "ENRG" - "GASB" - "NWCH" - "NWCM" - "OTLC" - "PHON" - "UBIL" - "WTER" cardAcceptorCategoryCode: description: | Card Acceptor Category Code of the Card Acceptor as given in the related card transaction. type: string #TODO Type in IG not defined probably identical to merchant category code. bankTransactionCode: description: | Bank transaction code as used by the ASPSP and using the sub elements of this structured code defined by ISO 20022. This code type is concatenating the three ISO20022 Codes * Domain Code, * Family Code, and * SubFamiliy Code by hyphens, resulting in �DomainCode�-�FamilyCode�-�SubFamilyCode�. type: string example: "PMNT-RCDT-ESCT" proprietaryBankTransactionCode: description: | Proprietary bank transaction code as used within a community or within an ASPSP e.g. for MT94x based transaction reports. type: string maxLength: 35 frequencyCode: description: | The following codes from the "EventFrequency7Code" of ISO 20022 are supported. - "Daily" - "Weekly" - "EveryTwoWeeks" - "Monthly" - "EveryTwoMonths" - "Quarterly" - "SemiAnnual" - "Annual" type: string enum: - "Daily" - "Weekly" - "EveryTwoWeeks" - "Monthly" - "EveryTwoMonths" - "Quarterly" - "SemiAnnual" - "Annual" frequencyPerDay: description: | This field indicates the requested maximum frequency for an access without PSU involvement per day. For a one-off access, this attribute is set to "1". type: integer example: 4 dayOfExecution: description: | Day of execution as string. This string consists of up two characters. Leading zeroes are not allowed. 31 is ultimo of the month. type: string maxLength: 2 enum: - "1" - "2" - "3" - "4" - "5" - "6" - "7" - "8" - "9" - "10" - "11" - "12" - "13" - "14" - "15" - "16" - "17" - "18" - "19" - "20" - "21" - "22" - "23" - "24" - "25" - "26" - "27" - "28" - "29" - "30" - "31" executionRule: description: | "following" or "preceeding" supported as values. This data attribute defines the behavior when recurring payment dates falls on a weekend or bank holiday. The payment is then executed either the "preceeding" or "following" working day. ASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting this execution rule. type: string enum: - "following" - "preceeding" psuData: description: PSU Data for Update PSU Authentication. type: object required: - password properties: password: description: Password type: string psuMessageText: description: Text to be displayed to the PSU type: string maxLength: 512 creditorName: description: Creditor Name type: string maxLength: 70 example: "Creditor Name" debtorName: description: Debtor Name type: string maxLength: 70 example: "Debtor Name" ultimateDebtor: description: Ultimate Debtor type: string maxLength: 70 example: "Ultimate Debtor" ultimateCreditor: description: Ultimate Creditor type: string maxLength: 70 example: "Ultimate Creditor" ##################################################### # 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 example: "2020-12-31" lastActionDate: description: | This date is containing the date of the last action on the consent object either through the XS2A interface or the PSU/ASPSP interface having an impact on the status. type: string format: date example: "2018-07-01" ##################################################### # Content of Request Bodies ##################################################### ##################################################### # Content of Request Bodies - JSON ##################################################### paymentInitiationSct_json: description: | Body for a SCT payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # type: string # format: date # requestedExecutionTime: # type: string # format: date-time paymentInitiationSctInst_json: description: | Body for a SCT INST payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # N.A. # type: string # format: date # requestedExecutionTime: # N.A. # type: string # format: date-time paymentInitiationTarget2_json: description: | Body for a TARGET-2 payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # N.A. # type: string # format: date # requestedExecutionTime: # N.A. # type: string # format: date-time paymentInitiationCrossBorder_json: description: | JSON body for a cross-border payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName properties: # endToEndIdentification: # N.A. # type: string # maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # N.A. # type: string # format: date # requestedExecutionTime: # N.A. # type: string # format: date-time paymentInitiationSctBulkElement_json: description: | Body for a bulk SCT payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" paymentInitiationSctInstBulkElement_json: description: | Body for a SCT INST payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" paymentInitiationTarget2BulkElement_json: description: | Body for a bulk TARGET-2 payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: endToEndIdentification: type: string maxLength: 35 # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" paymentInitiationCrossBorderBulkElement_json: description: | JSON body for a cross-border payment initation. type: object required: - instructedAmount - creditorAccount - creditorName properties: # endToEndIdentification: # N.A. # type: string # maxLength: 35 # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" periodicPaymentInitiationSct_json: description: | JSON Body for a periodic SCT payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: $ref: "#/components/schemas/remittanceInformationUnstructured" # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # N.A. # type: string # format: date # requestedExecutionTime: # N.A. # type: string # format: date-time #Additional Information for periodic payments startDate: $ref: "#/components/schemas/startDate" endDate: $ref: "#/components/schemas/endDate" executionRule: $ref: "#/components/schemas/executionRule" frequency: $ref: "#/components/schemas/frequencyCode" dayOfExecution: $ref: "#/components/schemas/dayOfExecution" periodicPaymentInitiationSctInst_json: description: | JSON Body for a periodic SCT INST payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # N.A. # type: string # format: date # requestedExecutionTime: # N.A. # type: string # format: date-time #Additional Information for periodic payments startDate: $ref: "#/components/schemas/startDate" endDate: $ref: "#/components/schemas/endDate" executionRule: $ref: "#/components/schemas/executionRule" frequency: $ref: "#/components/schemas/frequencyCode" dayOfExecution: $ref: "#/components/schemas/dayOfExecution" periodicPaymentInitiationTarget2_json: description: | JSON Body for a periodic target-2 payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: endToEndIdentification: type: string maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # N.A. # type: string # format: date # requestedExecutionTime: # N.A. # type: string # format: date-time #Additional Information for periodic payments startDate: $ref: "#/components/schemas/startDate" endDate: $ref: "#/components/schemas/endDate" executionRule: $ref: "#/components/schemas/executionRule" frequency: $ref: "#/components/schemas/frequencyCode" dayOfExecution: $ref: "#/components/schemas/dayOfExecution" periodicPaymentInitiationCrossBorder_json: description: | JSON body for a periodic cross-border payment initation. type: object required: - debtorAccount - instructedAmount - creditorAccount - creditorName - startDate - frequency properties: # endToEndIdentification: # N.A. # type: string # maxLength: 35 debtorAccount: $ref: "#/components/schemas/accountReference" # ultimateDebtor: # N.A. # $ref: "#/components/schemas/ultimateDebtor" instructedAmount: $ref: "#/components/schemas/amount" creditorAccount: $ref: "#/components/schemas/accountReference" creditorAgent: $ref: "#/components/schemas/bicfi" creditorName: $ref: "#/components/schemas/creditorName" creditorAddress: $ref: "#/components/schemas/address" # ultimateCreditor: # N.A. # $ref: "#/components/schemas/ultimateCreditor" # purposeCode: # N.A. # $ref: "#/components/schemas/purposeCode" remittanceInformationUnstructured: type: string maxLength: 140 # remittanceInformationStructured: # N.A. # $ref: "#/components/schemas/remittanceInformationStructured" # requestedExecutionDate: # N.A. # type: string # format: date # requestedExecutionTime: # N.A. # type: string # format: date-time #Additional Information for periodic payments startDate: $ref: "#/components/schemas/startDate" endDate: $ref: "#/components/schemas/endDate" executionRule: $ref: "#/components/schemas/executionRule" frequency: $ref: "#/components/schemas/frequencyCode" dayOfExecution: $ref: "#/components/schemas/dayOfExecution" bulkPaymentInitiationSct_json: description: | JSON Body for a bulk SCT payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: "#/components/schemas/batchBookingPreferred" requestedExecutionDate: type: string format: date debtorAccount: $ref: "#/components/schemas/accountReference" payments: description: A list of JSON bodies for SCT payments. type: array items: $ref: "#/components/schemas/paymentInitiationSctBulkElement_json" bulkPaymentInitiationSctInst_json: description: | JSON Body for a bulk SCT INST payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: "#/components/schemas/batchBookingPreferred" requestedExecutionDate: type: string format: date debtorAccount: $ref: "#/components/schemas/accountReference" payments: description: A list of JSON bodies for SCT INST payments. type: array items: $ref: "#/components/schemas/paymentInitiationSctInstBulkElement_json" bulkPaymentInitiationTarget2_json: description: | JSON Body for a bulk TARGET-2 payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: "#/components/schemas/batchBookingPreferred" requestedExecutionDate: type: string format: date debtorAccount: $ref: "#/components/schemas/accountReference" payments: description: A list of JSON bodies for TARGET-2 payments. type: array items: $ref: "#/components/schemas/paymentInitiationTarget2BulkElement_json" bulkPaymentInitiationCrossBorder_json: description: | JSON body for a bulk cross-border payment initation. type: object required: - payments - debtorAccount properties: batchBookingPreferred: $ref: "#/components/schemas/batchBookingPreferred" requestedExecutionDate: type: string format: date debtorAccount: $ref: "#/components/schemas/accountReference" payments: description: A List of JSON bodies for cross-border payments. type: array items: $ref: "#/components/schemas/paymentInitiationCrossBorderBulkElement_json" confirmationOfFunds: description: | JSON Request body for the "Confirmation of Funds Service"
cardNumber | String | Optional | Card Number of the card issued by the PIISP. Should be delivered if available. |
account | Account Reference | Mandatory | PSU's account number. |
payee | Max70Text | Optional | The merchant where the card is accepted as an information to the PSU. |
instructedAmount | Amount | Mandatory | Transaction amount to be checked within the funds check mechanism. |