> For the complete documentation index, see [llms.txt](https://doc.api.tieto.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.api.tieto.com/api-references/tieto-saas-aggregation/aggregated-xs2a/payments.md).

# Payments

The component for Payment Initiation Service (PIS) offers the following services:

* Initiation and update of a payment request
* Status information of a payment

## Get payment initiation authorisation sub-resources request

> 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.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"authorisations":{"description":"An array of all authorisationIds.","properties":{"authorisationIds":{"$ref":"#/components/schemas/authorisationsList"}},"type":"object","required":["authorisationIds"]},"authorisationsList":{"description":"An array of all authorisationIds.","type":"array","items":{"$ref":"#/components/schemas/authorisationId"}},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_Authorisations":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/authorisations"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/authorisations":{"get":{"tags":["payments"],"summary":"Get payment initiation authorisation sub-resources request","description":"Read a list of all authorisation subresources IDs which have been created.\n\nThis function returns an array of hyperlinks to all generated authorisation sub-resources.\n","operationId":"getPaymentInitiationAuthorisation","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"200":{"$ref":"#/components/responses/OK_200_Authorisations"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Start the authorisation process for a payment initiation

> 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:\
> \
> &#x20; \* The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding Payment \
> &#x20;   initiation response that an explicit start of the authorisation process is needed by the TPP. \
> &#x20;   The 'startAuthorisation' hyperlink can transport more information about data which needs to be \
> &#x20;   uploaded by using the extended forms:\
> &#x20;   \* 'startAuthorisationWithPsuIdentification'\
> &#x20;   \* 'startAuthorisationWithPsuAuthentication'\
> &#x20;   \* 'startAuthorisationWithEncryptedPsuAuthentication'\
> &#x20;   \* 'startAuthorisationWithAuthentciationMethodSelection'\
> &#x20; \* The related payment initiation cannot yet be executed since a multilevel SCA is mandated.\
> &#x20; \* The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding \
> &#x20;   Payment cancellation response that an explicit start of the authorisation process is needed by the TPP. \
> &#x20;   The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded \
> &#x20;   by using the extended forms as indicated above.\
> &#x20; \* The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for \
> &#x20;   executing the cancellation.\
> &#x20; \* The signing basket needs to be authorised yet.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"PSU-ID":{"description":"Client ID of the PSU in the ASPSP client interface. \n\nMight be mandated in the ASPSP's documentation.\n\nIt might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding\nAIS service in the same session.\nIn this case the ASPSP might check whether PSU-ID and token match, \naccording to ASPSP documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID"},"PSU-ID-Type":{"description":"Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.\n\nIn this case, the mean and use are then defined in the ASPSP’s documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID-Type"},"PSU-Corporate-ID":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID"},"PSU-Corporate-ID-Type":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID-Type"},"TPP-Redirect-Preferred":{"description":"If it equals \"true\", the TPP prefers a redirect over an embedded SCA approach.\nIf it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled\nSCA approach, depending on the parameter TPP-Decoupled-Preferred and the choice of the SCA procedure by the TPP/PSU.\nIf the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the\nTPP/PSU.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Redirect-Preferred"},"TPP-Redirect-URI":{"description":"URI of the TPP, where the transaction flow shall be redirected to after a Redirect.\n\nMandated for the Redirect SCA Approach, specifically \nwhen TPP-Redirect-Preferred equals \"true\".\nIt is recommended to always use this header field.\n\n**Remark for Future:** \nThis field might be changed to mandatory in the next version of the specification.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Redirect-URI"},"TPP-Nok-Redirect-URI":{"description":"If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case\nof a negative result of the redirect SCA method. This might be ignored by the ASPSP.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Nok-Redirect-URI"},"TPP-Notification-URI":{"description":"URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent.\nThis header field may by ignored by the ASPSP.\n\nFor security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:\n\nURIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications would be compliant.\n\nWildcard definitions shall be taken into account for compliance checks by the ASPSP.\n ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.\n","required":false,"schema":{"type":"string"},"in":"header","name":"TPP-Notification-URI"},"TPP-Notification-Content-Preferred":{"description":"The string has the form \n\nstatus=X1, ..., Xn\n\nwhere Xi is one of the constants SCA, PROCESS, LAST and where constants are not\nrepeated.\nThe usage of the constants supports the of following semantics:\n\n  SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.\n\n  PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP.\n  LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.\n\nThis header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"TPP-Notification-Content-Preferred"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"startPaymentAuthorisationPsuData":{"oneOf":[{},{"$ref":"#/components/schemas/updatePsuAuthentication"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethod"},{"$ref":"#/components/schemas/transactionAuthorisation"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethodAndAuthorise"}]},"updatePsuAuthentication":{"description":"Content of the body of a Update PSU authentication request\n\nPassword subfield is used.\n","properties":{"psuData":{"$ref":"#/components/schemas/psuData"}},"type":"object","required":["psuData"]},"psuData":{"description":"PSU Data for Update PSU authentication.","minProperties":1,"properties":{"password":{"description":"Password.","type":"string"},"encryptedPassword":{"description":"Encrypted password.","type":"string"},"additionalPassword":{"description":"Additional password in plaintext.","type":"string"},"additionalEncryptedPassword":{"description":"Additional encrypted password.","type":"string"}},"type":"object"},"selectPsuAuthenticationMethod":{"description":"Content of the body of a Select PSU authentication method request\n","properties":{"authenticationMethodId":{"$ref":"#/components/schemas/authenticationMethodId"}},"type":"object","required":["authenticationMethodId"]},"authenticationMethodId":{"description":"An identification provided by the ASPSP for the later identification of the authentication method selection.\n","maxLength":35,"type":"string"},"transactionAuthorisation":{"description":"Content of the body of a transaction authorisation request\n","properties":{"scaAuthenticationData":{"$ref":"#/components/schemas/scaAuthenticationData"}},"type":"object","required":["scaAuthenticationData"]},"scaAuthenticationData":{"description":"SCA authentication data, depending on the chosen authentication method. \nIf the data is binary, then it is base64 encoded.\n","type":"string"},"selectPsuAuthenticationMethodAndAuthorise":{"description":"Select PSU authentication method and transaction authorisation\n","properties":{"authenticationMethodId":{"$ref":"#/components/schemas/authenticationMethodId"},"scaAuthenticationData":{"$ref":"#/components/schemas/scaAuthenticationData"}},"type":"object","required":["authenticationMethodId","scaAuthenticationData"]},"startScaprocessResponse":{"description":"Body of the JSON response for a Start SCA authorisation request.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"authorisationId":{"$ref":"#/components/schemas/authorisationId"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"_links":{"$ref":"#/components/schemas/_linksStartScaProcess"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["scaStatus","authorisationId","_links"]},"scaStatus":{"description":"This data element is containing information about the status of the SCA method applied. \n\nThe following codes are defined for this data type.\n\n  * 'received':\n    An authorisation or cancellation-authorisation resource has been created successfully.\n  * 'psuIdentified':\n    The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n  * 'psuAuthenticated':\n    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.\n  * 'scaMethodSelected':\n    The PSU/TPP has selected the related SCA routine. \n    If the SCA method is chosen implicitly since only one SCA method is available, \n    then this is the first status to be reported instead of 'received'.\n  * 'unconfirmed':\n    SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. \n  * 'started':\n    The addressed SCA routine has been started.\n  * 'finalised':\n    The SCA routine has been finalised successfully (including a potential confirmation command). \n    This is a final status of the authorisation resource.\n  * 'failed':\n    The SCA routine failed.\n    This is a final status of the authorisation resource.\n  * 'exempted':\n    SCA was exempted for the related transaction, the related authorisation is successful.\n    This is a final status of the authorisation resource.\n","type":"string","enum":["received","psuIdentified","psuAuthenticated","scaMethodSelected","started","unconfirmed","finalised","failed","exempted"]},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"scaMethods":{"description":"This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.\n","type":"array","items":{"$ref":"#/components/schemas/authenticationObject"}},"authenticationObject":{"description":"Authentication object.\n","properties":{"authenticationType":{"$ref":"#/components/schemas/authenticationType"},"authenticationVersion":{"description":"Depending on the \"authenticationType\".\nThis version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.\nThis version can be referred to in the ASPSP?s documentation.\n","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.\nAlternatively this could be a description provided by the ASPSP like \"SMS OTP on phone +49160 xxxxx 28\".\nThis name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.\n","type":"string"},"explanation":{"description":"Detailed information about the SCA method for the PSU.\n","type":"string"}},"type":"object","required":["authenticationType","authenticationMethodId"]},"authenticationType":{"description":"Type of the authentication method.\n\nMore authentication types might be added during implementation projects and documented in the ASPSP documentation.\n\n  - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n  - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. \n    To contact the card, the PSU normally needs a (handheld) device. \n    With this device, the PSU either reads the challenging data through a visual interface like flickering or \n    the PSU types in the challenge through the device key pad. \n    The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n  - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data \n    which can be read in by a consumer device or specific mobile app. \n    The device resp. the specific app than derives an OTP from the visual challenge data and displays \n    the OTP to the PSU.\n  - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU.\n  - 'SMTP_OTP': An OTP is sent via email to the PSU.\n","type":"string","enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP","SMTP_OTP"]},"chosenScaMethod":{"$ref":"#/components/schemas/authenticationObject"},"challengeData":{"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA.\nIn rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.\n","properties":{"image":{"description":"PNG data (max. 512 kilobyte) to be displayed to the PSU,\nBase64 encoding, cp. [RFC4648].\nThis attribute is used only, when PHOTO_OTP or CHIP_OTP\nis the selected SCA method.\n","type":"string"},"data":{"description":"A collection of strings as challenge data.","type":"array","items":{"type":"string"}},"imageLink":{"description":"A link where the ASPSP will provides the challenge image for the TPP.","format":"url","type":"string"},"otpMaxLength":{"description":"The maximal length for the OTP to be typed in by the PSU.","type":"integer"},"otpFormat":{"description":"The format type of the OTP to be typed in. The admitted values are \"characters\" or \"integer\".","type":"string","enum":["characters","integer"]},"additionalInformation":{"description":"Additional explanation for the PSU to explain\ne.g. fallback mechanism for the chosen SCA method.\nThe TPP is obliged to show this to the PSU.\n","type":"string"}},"type":"object"},"_linksStartScaProcess":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the \nresponse depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP defined \nextensions):\n\n- 'scaRedirect': \n  In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to \n  redirect the PSU browser.\n- 'scaOAuth': \n  In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.\n* 'confirmation': \n  Might be added by the ASPSP if either the \"scaRedirect\" or \"scaOAuth\" hyperlink is returned \n  in the same response message. \n  This hyperlink defines the URL to the resource which needs to be updated with \n    * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or\n    * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.\n- 'updatePsuIdentification': \n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU identification data needs to be uploaded.\n- 'startAuthorisationWithPsuAuthentication':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU authentication data needs to be uploaded.\n- 'startAuthorisationWithEncryptedPsuAuthentication':\n    Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on \n    application layer in uploading.\n- 'selectAuthenticationMethod':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where the selected authentication method needs to be uploaded. \n  This link is contained under exactly the same conditions as the data element 'scaMethods'.\n- 'authoriseTransaction':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where the authorisation data has to be uploaded, e.g. the TOP received by SMS. \n- 'scaStatus': \n  The link to retrieve the scaStatus of the corresponding authorisation sub-resource. \n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"CREATED_201_StartScaProcess":{"description":"Created","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"ASPSP-SCA-Approach":{"$ref":"#/components/headers/ASPSP-SCA-Approach"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/startScaprocessResponse"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"ASPSP-SCA-Approach":{"description":"This data element must be contained, if the SCA Approach is already fixed.\nPossible values are\n  * EMBEDDED\n  * DECOUPLED\n  * REDIRECT\nThe OAuth SCA approach will be subsumed by REDIRECT.\n","required":false,"schema":{"type":"string","enum":["EMBEDDED","DECOUPLED","REDIRECT"]}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/authorisations":{"post":{"tags":["payments"],"summary":"Start the authorisation process for a payment initiation","description":"Create an authorisation sub-resource and start the authorisation process. \nThe message might in addition transmit authentication and authorisation related data. \n\nThis method is iterated n times for a n times SCA authorisation in a \ncorporate context, each creating an own authorisation sub-endpoint for \nthe corresponding PSU authorising the transaction.\n\nThe ASPSP might make the usage of this access method unnecessary in case \nof only one SCA process needed, since the related authorisation resource \nmight be automatically created by the ASPSP after the submission of the \npayment data with the first POST payments/{payment-product} call.\n\nThe start authorisation process is a process which is needed for creating a new authorisation \nor cancellation sub-resource. \n\nThis applies in the following scenarios:\n\n  * The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding Payment \n    initiation response that an explicit start of the authorisation process is needed by the TPP. \n    The 'startAuthorisation' hyperlink can transport more information about data which needs to be \n    uploaded by using the extended forms:\n    * 'startAuthorisationWithPsuIdentification'\n    * 'startAuthorisationWithPsuAuthentication'\n    * 'startAuthorisationWithEncryptedPsuAuthentication'\n    * 'startAuthorisationWithAuthentciationMethodSelection'\n  * The related payment initiation cannot yet be executed since a multilevel SCA is mandated.\n  * The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding \n    Payment cancellation response that an explicit start of the authorisation process is needed by the TPP. \n    The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded \n    by using the extended forms as indicated above.\n  * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for \n    executing the cancellation.\n  * The signing basket needs to be authorised yet.\n","operationId":"startPaymentAuthorisation","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$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-Notification-URI"},{"$ref":"#/components/parameters/TPP-Notification-Content-Preferred"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/startPaymentAuthorisationPsuData"}}}},"responses":{"201":{"$ref":"#/components/responses/CREATED_201_StartScaProcess"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Read the SCA status of the payment cancellation's authorisation

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

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"authorisationId":{"description":"Resource identification of the related SCA.","required":true,"schema":{"$ref":"#/components/schemas/authorisationId"},"in":"path","name":"authorisationId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"scaStatusResponse":{"description":"Body of the JSON response with SCA Status.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"psuName":{"description":"Name of the PSU. In case of a corporate account, this might be the person acting on behalf of the corporate.\n","maxLength":140,"type":"string"},"trustedBeneficiaryFlag":{"$ref":"#/components/schemas/trustedBeneficiaryFlag"},"_links":{"$ref":"#/components/schemas/_linksAll"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["scaStatus"]},"scaStatus":{"description":"This data element is containing information about the status of the SCA method applied. \n\nThe following codes are defined for this data type.\n\n  * 'received':\n    An authorisation or cancellation-authorisation resource has been created successfully.\n  * 'psuIdentified':\n    The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n  * 'psuAuthenticated':\n    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.\n  * 'scaMethodSelected':\n    The PSU/TPP has selected the related SCA routine. \n    If the SCA method is chosen implicitly since only one SCA method is available, \n    then this is the first status to be reported instead of 'received'.\n  * 'unconfirmed':\n    SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. \n  * 'started':\n    The addressed SCA routine has been started.\n  * 'finalised':\n    The SCA routine has been finalised successfully (including a potential confirmation command). \n    This is a final status of the authorisation resource.\n  * 'failed':\n    The SCA routine failed.\n    This is a final status of the authorisation resource.\n  * 'exempted':\n    SCA was exempted for the related transaction, the related authorisation is successful.\n    This is a final status of the authorisation resource.\n","type":"string","enum":["received","psuIdentified","psuAuthenticated","scaMethodSelected","started","unconfirmed","finalised","failed","exempted"]},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"trustedBeneficiaryFlag":{"description":"Additional Service: Trusted Beneficiaries\nWithin this data element, the ASPSP might optionally communicate towards the TPP whether the creditor was part of the related trusted beneficiary list. \nThis attribute is only contained in case of a final scaStatus.\n","type":"boolean"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"tppMessageGeneric":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/tppMessageCodeGeneric"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"tppMessageCodeGeneric":{"description":"Code of the TPP message category.","type":"string"},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_ScaStatus":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/scaStatusResponse"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/cancellation-authorisations/{authorisationId}":{"get":{"tags":["payments"],"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.\n","operationId":"getPaymentCancellationScaStatus","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/authorisationId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"200":{"$ref":"#/components/responses/OK_200_ScaStatus"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Update PSU data for payment initiation cancellation

> 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:\
> &#x20; A specific Update PSU data request is applicable for \
> &#x20;   \* the selection of authentication methods, before choosing the actual SCA approach.\
> \* Decoupled SCA Approach:\
> &#x20; A specific Update PSU data request is only applicable for\
> &#x20; \* 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\
> &#x20; \* the selection of authentication methods.\
> \* Embedded SCA Approach: \
> &#x20; The Update PSU data request might be used \
> &#x20; \* to add credentials as a first factor authentication data of the PSU and\
> &#x20; \* to select the authentication method and\
> &#x20; \* 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:\
> &#x20; \* Update PSU identification\
> &#x20; \* Update PSU authentication\
> &#x20; \* Select PSU authorization method \
> &#x20;   WARNING: This method needs a reduced header, \
> &#x20;   therefore many optional elements are not present. \
> &#x20;   Maybe in a later version the access path will change.\
> &#x20; \* Transaction Authorisation\
> &#x20;   WARNING: This method needs a reduced header, \
> &#x20;   therefore many optional elements are not present. \
> &#x20;   Maybe in a later version the access path will change.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"authorisationId":{"description":"Resource identification of the related SCA.","required":true,"schema":{"$ref":"#/components/schemas/authorisationId"},"in":"path","name":"authorisationId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-ID":{"description":"Client ID of the PSU in the ASPSP client interface. \n\nMight be mandated in the ASPSP's documentation.\n\nIt might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding\nAIS service in the same session.\nIn this case the ASPSP might check whether PSU-ID and token match, \naccording to ASPSP documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID"},"PSU-ID-Type":{"description":"Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.\n\nIn this case, the mean and use are then defined in the ASPSP’s documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID-Type"},"PSU-Corporate-ID":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID"},"PSU-Corporate-ID-Type":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID-Type"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"updatePaymentCancellationPsuDataRequest":{"oneOf":[{},{"$ref":"#/components/schemas/updatePsuAuthentication"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethod"},{"$ref":"#/components/schemas/transactionAuthorisation"},{"$ref":"#/components/schemas/authorisationConfirmation"}]},"updatePsuAuthentication":{"description":"Content of the body of a Update PSU authentication request\n\nPassword subfield is used.\n","properties":{"psuData":{"$ref":"#/components/schemas/psuData"}},"type":"object","required":["psuData"]},"psuData":{"description":"PSU Data for Update PSU authentication.","minProperties":1,"properties":{"password":{"description":"Password.","type":"string"},"encryptedPassword":{"description":"Encrypted password.","type":"string"},"additionalPassword":{"description":"Additional password in plaintext.","type":"string"},"additionalEncryptedPassword":{"description":"Additional encrypted password.","type":"string"}},"type":"object"},"selectPsuAuthenticationMethod":{"description":"Content of the body of a Select PSU authentication method request\n","properties":{"authenticationMethodId":{"$ref":"#/components/schemas/authenticationMethodId"}},"type":"object","required":["authenticationMethodId"]},"authenticationMethodId":{"description":"An identification provided by the ASPSP for the later identification of the authentication method selection.\n","maxLength":35,"type":"string"},"transactionAuthorisation":{"description":"Content of the body of a transaction authorisation request\n","properties":{"scaAuthenticationData":{"$ref":"#/components/schemas/scaAuthenticationData"}},"type":"object","required":["scaAuthenticationData"]},"scaAuthenticationData":{"description":"SCA authentication data, depending on the chosen authentication method. \nIf the data is binary, then it is base64 encoded.\n","type":"string"},"authorisationConfirmation":{"description":"Content of the body of an authorisation confirmation request\n","properties":{"confirmationCode":{"description":"Confirmation Code as retrieved by the TPP from the redirect based SCA process.","type":"string"}},"type":"object","required":["confirmationCode"]},"updatePsuIdentificationResponse":{"description":"Body of the JSON response for a successful update PSU identification request.","properties":{"transactionFees":{"$ref":"#/components/schemas/amount"},"currencyConversionFees":{"$ref":"#/components/schemas/amount"},"estimatedTotalAmount":{"$ref":"#/components/schemas/amount"},"estimatedInterbankSettlementAmount":{"$ref":"#/components/schemas/amount"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"_links":{"$ref":"#/components/schemas/_linksUpdatePsuIdentification"},"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["_links","scaStatus"]},"amount":{"properties":{"currency":{"$ref":"#/components/schemas/currencyCode"},"amount":{"$ref":"#/components/schemas/amountValue"}},"type":"object","required":["currency","amount"]},"currencyCode":{"description":"ISO 4217 Alpha 3 currency code.\n","pattern":"[A-Z]{3}","type":"string"},"amountValue":{"description":"The amount given with fractional digits, where fractions must be compliant to the currency definition.\nUp to 14 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot.\n\n**Example:**\nValid representations for EUR with up to two decimals are:\n\n  * 1056\n  * 5768.2\n  * -1.50\n  * 5877.78\n","pattern":"-?[0-9]{1,14}(\\.[0-9]{1,3})?","type":"string"},"scaMethods":{"description":"This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.\n","type":"array","items":{"$ref":"#/components/schemas/authenticationObject"}},"authenticationObject":{"description":"Authentication object.\n","properties":{"authenticationType":{"$ref":"#/components/schemas/authenticationType"},"authenticationVersion":{"description":"Depending on the \"authenticationType\".\nThis version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.\nThis version can be referred to in the ASPSP?s documentation.\n","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.\nAlternatively this could be a description provided by the ASPSP like \"SMS OTP on phone +49160 xxxxx 28\".\nThis name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.\n","type":"string"},"explanation":{"description":"Detailed information about the SCA method for the PSU.\n","type":"string"}},"type":"object","required":["authenticationType","authenticationMethodId"]},"authenticationType":{"description":"Type of the authentication method.\n\nMore authentication types might be added during implementation projects and documented in the ASPSP documentation.\n\n  - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n  - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. \n    To contact the card, the PSU normally needs a (handheld) device. \n    With this device, the PSU either reads the challenging data through a visual interface like flickering or \n    the PSU types in the challenge through the device key pad. \n    The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n  - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data \n    which can be read in by a consumer device or specific mobile app. \n    The device resp. the specific app than derives an OTP from the visual challenge data and displays \n    the OTP to the PSU.\n  - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU.\n  - 'SMTP_OTP': An OTP is sent via email to the PSU.\n","type":"string","enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP","SMTP_OTP"]},"_linksUpdatePsuIdentification":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP \ndefined extensions):\n\n- 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource.\n- 'selectAuthenticationMethod': This is a link to a resource, where the TPP can select the applicable second factor authentication methods for the PSU, if there are several available authentication methods and if the PSU is already sufficiently authenticated.. If this link is contained, then there is also the data element \"scaMethods\" contained in the response body.\n","properties":{"scaStatus":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"scaStatus":{"description":"This data element is containing information about the status of the SCA method applied. \n\nThe following codes are defined for this data type.\n\n  * 'received':\n    An authorisation or cancellation-authorisation resource has been created successfully.\n  * 'psuIdentified':\n    The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n  * 'psuAuthenticated':\n    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.\n  * 'scaMethodSelected':\n    The PSU/TPP has selected the related SCA routine. \n    If the SCA method is chosen implicitly since only one SCA method is available, \n    then this is the first status to be reported instead of 'received'.\n  * 'unconfirmed':\n    SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. \n  * 'started':\n    The addressed SCA routine has been started.\n  * 'finalised':\n    The SCA routine has been finalised successfully (including a potential confirmation command). \n    This is a final status of the authorisation resource.\n  * 'failed':\n    The SCA routine failed.\n    This is a final status of the authorisation resource.\n  * 'exempted':\n    SCA was exempted for the related transaction, the related authorisation is successful.\n    This is a final status of the authorisation resource.\n","type":"string","enum":["received","psuIdentified","psuAuthenticated","scaMethodSelected","started","unconfirmed","finalised","failed","exempted"]},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"updatePsuAuthenticationResponse":{"description":"Body of the JSON response for a successful update PSU authentication request.","properties":{"transactionFees":{"$ref":"#/components/schemas/amount"},"currencyConversionFees":{"$ref":"#/components/schemas/amount"},"estimatedTotalAmount":{"$ref":"#/components/schemas/amount"},"estimatedInterbankSettlementAmount":{"$ref":"#/components/schemas/amount"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"_links":{"$ref":"#/components/schemas/_linksUpdatePsuAuthentication"},"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"authorisationId":{"$ref":"#/components/schemas/authorisationId"}},"type":"object","required":["scaStatus"]},"chosenScaMethod":{"$ref":"#/components/schemas/authenticationObject"},"challengeData":{"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA.\nIn rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.\n","properties":{"image":{"description":"PNG data (max. 512 kilobyte) to be displayed to the PSU,\nBase64 encoding, cp. [RFC4648].\nThis attribute is used only, when PHOTO_OTP or CHIP_OTP\nis the selected SCA method.\n","type":"string"},"data":{"description":"A collection of strings as challenge data.","type":"array","items":{"type":"string"}},"imageLink":{"description":"A link where the ASPSP will provides the challenge image for the TPP.","format":"url","type":"string"},"otpMaxLength":{"description":"The maximal length for the OTP to be typed in by the PSU.","type":"integer"},"otpFormat":{"description":"The format type of the OTP to be typed in. The admitted values are \"characters\" or \"integer\".","type":"string","enum":["characters","integer"]},"additionalInformation":{"description":"Additional explanation for the PSU to explain\ne.g. fallback mechanism for the chosen SCA method.\nThe TPP is obliged to show this to the PSU.\n","type":"string"}},"type":"object"},"_linksUpdatePsuAuthentication":{"description":"A list of hyperlinks to be recognised by the TPP. Might be contained, if several authentication methods \nare available for the PSU.\nType of links admitted in this response:\n  * 'updateAdditionalPsuAuthentication':\n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional PSU password. \n    This link is only contained in rare cases, \n    where such additional passwords are needed for PSU authentications.\n  * 'updateAdditionalEncryptedPsuAuthentication': \n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional encrypted PSU password. \n    This link is only contained in rare cases, where such additional passwords are needed for PSU authentications.\n  * 'selectAuthenticationMethod': \n    This is a link to a resource, where the TPP can select the applicable second factor authentication \n    methods for the PSU, if there were several available authentication methods. \n    This link is only contained, if the PSU is already identified or authenticated with the first relevant \n    factor or alternatively an access token, if SCA is required and if the PSU has a choice between different \n    authentication methods. \n    If this link is contained, then there is also the data element 'scaMethods' contained in the response body.\n  * 'authoriseTransaction': \n    The link to the resource, where the \"Transaction authorisation request\" is sent to. \n    This is the link to the resource which will authorise the transaction by checking the SCA authentication \n    data within the Embedded SCA approach.\n  * 'scaStatus': \n    The link to retrieve the scaStatus of the corresponding authorisation sub-resource.\n","properties":{"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"selectPsuAuthenticationMethodResponse":{"description":"Body of the JSON response for a successful select PSU authentication method request.","properties":{"transactionFees":{"$ref":"#/components/schemas/amount"},"currencyConversionFees":{"$ref":"#/components/schemas/amount"},"estimatedTotalAmount":{"$ref":"#/components/schemas/amount"},"estimatedInterbankSettlementAmount":{"$ref":"#/components/schemas/amount"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"_links":{"$ref":"#/components/schemas/_linksSelectPsuAuthenticationMethod"},"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["scaStatus"]},"_linksSelectPsuAuthenticationMethod":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in \nthe response depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP. \n\n**Remark:** This method can be applied before or after PSU identification. \nThis leads to many possible hyperlink responses.\nType of links admitted in this response, (further links might be added for ASPSP defined \nextensions):\n\n- 'scaRedirect': \n  In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to \n  redirect the PSU browser.\n- 'scaOAuth': \n  In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the \n  configuration of the Authorisation Server can be retrieved. \n  The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.\n* 'confirmation': \n  Might be added by the ASPSP if either the \"scaRedirect\" or \"scaOAuth\" hyperlink is returned \n  in the same response message. \n  This hyperlink defines the URL to the resource which needs to be updated with \n    * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or\n    * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.\n- 'updatePsuIdentification': \n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU identification data needs to be uploaded.\n- 'updatePsuAuthentication':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU authentication data needs to be uploaded.\n  - 'updateEncryptedPsuAuthentication':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU authentication encrypted data needs to be uploaded.\n- 'updateAdditionalPsuAuthentication':\n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional PSU password. \n- 'updateAdditionalEncryptedPsuAuthentication': \n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional encrypted PSU password. \n- 'authoriseTransaction':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where the authorisation data has to be uploaded, e.g. the TOP received by SMS. \n- 'scaStatus': \n  The link to retrieve the scaStatus of the corresponding authorisation sub-resource.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"scaStatusResponse":{"description":"Body of the JSON response with SCA Status.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"psuName":{"description":"Name of the PSU. In case of a corporate account, this might be the person acting on behalf of the corporate.\n","maxLength":140,"type":"string"},"trustedBeneficiaryFlag":{"$ref":"#/components/schemas/trustedBeneficiaryFlag"},"_links":{"$ref":"#/components/schemas/_linksAll"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["scaStatus"]},"trustedBeneficiaryFlag":{"description":"Additional Service: Trusted Beneficiaries\nWithin this data element, the ASPSP might optionally communicate towards the TPP whether the creditor was part of the related trusted beneficiary list. \nThis attribute is only contained in case of a final scaStatus.\n","type":"boolean"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"tppMessageGeneric":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/tppMessageCodeGeneric"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"tppMessageCodeGeneric":{"description":"Code of the TPP message category.","type":"string"},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"authorisationConfirmationResponse":{"description":"Body of the JSON response for an authorisation confirmation request.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatusAuthorisationConfirmation"},"_links":{"$ref":"#/components/schemas/_linksAuthorisationConfirmation"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["scaStatus","_links"]},"scaStatusAuthorisationConfirmation":{"description":"This data element is containing information about the status of the SCA method in an authorisation confirmation response. \n\nThe following codes are defined for this data type.\n\n  * 'finalised': if the transaction authorisation and confirmation was successful.\n  * 'failed': if the transaction authorisation or confirmation was not successful.\n","type":"string","enum":["finalised","failed"]},"_linksAuthorisationConfirmation":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP \ndefined extensions):\n\n- 'scaStatus': The link to retrieve the status of the corresponding transaction resource.\n","properties":{"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_UpdatePsuData":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"ASPSP-SCA-Approach":{"$ref":"#/components/headers/ASPSP-SCA-Approach"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/updatePsuIdentificationResponse"},{"$ref":"#/components/schemas/updatePsuAuthenticationResponse"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethodResponse"},{"$ref":"#/components/schemas/scaStatusResponse"},{"$ref":"#/components/schemas/authorisationConfirmationResponse"}]}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"ASPSP-SCA-Approach":{"description":"This data element must be contained, if the SCA Approach is already fixed.\nPossible values are\n  * EMBEDDED\n  * DECOUPLED\n  * REDIRECT\nThe OAuth SCA approach will be subsumed by REDIRECT.\n","required":false,"schema":{"type":"string","enum":["EMBEDDED","DECOUPLED","REDIRECT"]}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/cancellation-authorisations/{authorisationId}":{"put":{"tags":["payments"],"summary":"Update PSU data for payment initiation cancellation","description":"This method updates PSU data on the cancellation authorisation resource if needed. \nIt may authorise a cancellation of the payment within the Embedded SCA Approach where needed.\n\nIndependently from the SCA Approach it supports e.g. the selection of \nthe authentication method and a non-SCA PSU authentication.\n\nThis methods updates PSU data on the cancellation authorisation resource if needed. \n\nThere are several possible update PSU data requests in the context of a cancellation authorisation within the payment initiation services needed, \nwhich depends on the SCA approach:\n\n* Redirect SCA Approach:\n  A specific Update PSU data request is applicable for \n    * the selection of authentication methods, before choosing the actual SCA approach.\n* Decoupled SCA Approach:\n  A specific Update PSU data request is only applicable for\n  * 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\n  * the selection of authentication methods.\n* Embedded SCA Approach: \n  The Update PSU data request might be used \n  * to add credentials as a first factor authentication data of the PSU and\n  * to select the authentication method and\n  * transaction authorisation.\n\nThe SCA approach might depend on the chosen SCA method. \nFor that reason, the following possible update PSU data request can apply to all SCA approaches:\n\n* Select an SCA method in case of several SCA methods are available for the customer.\n\nThere are the following request types on this access path:\n  * Update PSU identification\n  * Update PSU authentication\n  * Select PSU authorization method \n    WARNING: This method needs a reduced header, \n    therefore many optional elements are not present. \n    Maybe in a later version the access path will change.\n  * Transaction Authorisation\n    WARNING: This method needs a reduced header, \n    therefore many optional elements are not present. \n    Maybe in a later version the access path will change.\n","operationId":"updatePaymentCancellationPsuData","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/authorisationId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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/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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updatePaymentCancellationPsuDataRequest"}}}},"responses":{"200":{"$ref":"#/components/responses/OK_200_UpdatePsuData"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Payment initiation status request

> Check the transaction status of a payment initiation.

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"paymentInitiationStatusResponse-200_json":{"description":"Body of the response for a successful payment initiation status request in case of an JSON based endpoint. *Remark:* If the PSU does not complete a required SCA within the required timeframe the payment resource's status must be set to \"RJCT\". Particularly, if a multi-level-SCA is required and the number of successful SCAs during the required timeframe is insufficient, the status must also be set to \"RJCT\".","properties":{"transactionStatus":{"$ref":"#/components/schemas/transactionStatus"},"fundsAvailable":{"$ref":"#/components/schemas/fundsAvailable"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"ownerNames":{"description":"List of owner names. Should only be delivered after successful SCA. Could be restricted to the current PSU by the ASPSP.\n","type":"array","items":{"$ref":"#/components/schemas/accountOwner"}},"psuName":{"description":"Name of the PSU. In case of a corporate account, this might be the person acting on behalf of the corporate.\n","maxLength":140,"type":"string"},"_links":{"$ref":"#/components/schemas/_linksPaymentInitiationStatus"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["transactionStatus"]},"transactionStatus":{"description":"The transaction status is filled with codes of the ISO 20022 data table:\n- 'ACCC': 'AcceptedSettlementCompleted' -\n  Settlement on the creditor's account has been completed.\n- 'ACCP': 'AcceptedCustomerProfile' - \n  Preceding check of technical validation was successful. \n  Customer profile check was also successful.\n- 'ACSC': 'AcceptedSettlementCompleted' - \n  Settlement on the debtor�s account has been completed.\n\n  **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. \n\n  **Warning:** this status is provided for transaction status reasons, not for financial information. \n  It can only be used after bilateral agreement.\n- 'ACSP': 'AcceptedSettlementInProcess' - \n  All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n- 'ACTC': 'AcceptedTechnicalValidation' - \n  Authentication and syntactical and semantical validation are successful.\n- 'ACWC': 'AcceptedWithChange' - \n  Instruction is accepted but a change will be made, such as date or remittance not sent.\n- 'ACWP': 'AcceptedWithoutPosting' - \n  Payment instruction included in the credit transfer is accepted without being posted to the creditor customer�s account.\n- 'RCVD': 'Received' - \n  Payment initiation has been received by the receiving agent.\n- 'PDNG': 'Pending' - \n  Payment initiation or individual transaction included in the payment initiation is pending. \n  Further checks and status update will be performed.\n- 'RJCT': 'Rejected' - \n  Payment initiation or individual transaction included in the payment initiation has been rejected.\n- 'CANC': 'Cancelled'\n  Payment initiation has been cancelled before execution\n- 'ACFC': 'AcceptedFundsChecked' -\n  Preceding check of technical validation and customer profile was successful and an automatic funds check was positive .\n- 'PATC': 'PartiallyAcceptedTechnical'\n  Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful.\n- 'PART': 'PartiallyAccepted' -\n  A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status.\n  Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected.\n","type":"string","enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"]},"fundsAvailable":{"description":"Equals true if sufficient funds are available at the time of the request, false otherwise.\n\nThis data element is allways contained in a confirmation of funds response.\n\nThis data element is contained in a payment status response, \nif supported by the ASPSP, if a funds check has been performed and \nif the transactionStatus is \"ACTC\", \"ACWC\" or \"ACCP\".\n","type":"boolean"},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"accountOwner":{"description":"Identifies a Person that acts as an account owner\n","properties":{"name":{"description":"Account owner name","maxLength":70,"type":"string"},"role":{"description":"The following proprietary codes are used:\n  * \"owner\", \n  * \"legalRepresentative\", \n  * \"authorisedUser\"\n","maxLength":35,"type":"string"}},"type":"object","required":["name"]},"_linksPaymentInitiationStatus":{"description":"Should refer to next steps if the problem can be resolved via the interface e.g. for re-submission of credentials.\n","type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"tppMessageGeneric":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/tppMessageCodeGeneric"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"tppMessageCodeGeneric":{"description":"Code of the TPP message category.","type":"string"},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"paymentInitiationStatusResponse-200_xml":{"description":"Body of the response for a successful payment initiation status request in case of an XML based endpoint.\n\nThe status is returned as a pain.002 structure. \n\nurn:iso:std:iso:20022:tech:xsd:pain.002.001.03\n\nThe chosen XML schema of the status request is following the XML schema definitions of the original pain.001 schema.\n","type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_PaymentInitiationStatus":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/paymentInitiationStatusResponse-200_json"}},"application/xml":{"schema":{"$ref":"#/components/schemas/paymentInitiationStatusResponse-200_xml"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/status":{"get":{"tags":["payments"],"summary":"Payment initiation status request","description":"Check the transaction status of a payment initiation.","operationId":"getPaymentInitiationStatus","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"200":{"$ref":"#/components/responses/OK_200_PaymentInitiationStatus"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Get payment information

> Returns the content of a payment object

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"paymentInitiationWithStatusResponse":{"description":"Generic JSON response body consistion of the corresponding payment initiation JSON body together with an optional transaction status field.\n","properties":{"endToEndIdentification":{"maxLength":35,"type":"string"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"instructedAmount":{"$ref":"#/components/schemas/amount"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAddress":{"$ref":"#/components/schemas/address"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"},"transactionStatus":{"$ref":"#/components/schemas/transactionStatus"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["debtorAccount","instructedAmount","creditorAccount","creditorName"]},"accountReference":{"description":"Reference to an account by either\n  * IBAN, of a payment accounts, or\n  * BBAN, for payment accounts if there is no IBAN, or \n  * the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or\n  * the Primary Account Number (PAN) of a card in a masked form, or\n  * an alias to access a payment account via a registered mobile phone number (MSISDN), or\n  * a proprietary ID of the  respective account that uniquely identifies the account for this ASPSP.\n","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"},"other":{"$ref":"#/components/schemas/otherType"},"currency":{"$ref":"#/components/schemas/currencyCode"},"cashAccountType":{"$ref":"#/components/schemas/cashAccountType"}},"type":"object"},"iban":{"description":"IBAN of an account.","pattern":"[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}","type":"string"},"bban":{"description":"Basic Bank Account Number (BBAN) Identifier.\n\nThis data element can be used in the body of the consent request.\n  Message for retrieving account access consent from this account. This\n  data elements is used for payment accounts which have no IBAN.\n  ISO20022: Basic Bank Account Number (BBAN). \n\n  Identifier used nationally by financial institutions, i.e., in individual countries, \n  generally as part of a National Account Numbering Scheme(s), \n  which uniquely identifies the account of a customer.\n","pattern":"[a-zA-Z0-9]{1,30}","type":"string"},"pan":{"description":"Primary Account Number according to ISO/IEC 7812.\n","maxLength":35,"type":"string"},"maskedPan":{"description":"Masked Primary Account Number.\n","maxLength":35,"type":"string"},"msisdn":{"description":"Mobile phone number.","maxLength":35,"type":"string"},"otherType":{"description":"In cases where the specifically defined criteria (IBAN, BBAN, MSISDN) are not provided to identify an instance of the respective account type (e.g. a savings account), the ASPSP shall include a proprietary ID of the respective account that uniquely identifies the account for this ASPSP.","properties":{"identification":{"description":"Proprietary identification of the account.","maxLength":35,"type":"string"},"schemeNameCode":{"description":"An entry provided by an external ISO code list.","maxLength":35,"type":"string"},"schemeNameProprietary":{"description":"A scheme name defined in a proprietary way.","maxLength":35,"type":"string"},"issuer":{"description":"Issuer of the identification.","maxLength":35,"type":"string"}},"type":"object","required":["identification"]},"currencyCode":{"description":"ISO 4217 Alpha 3 currency code.\n","pattern":"[A-Z]{3}","type":"string"},"cashAccountType":{"description":"ExternalCashAccountType1Code from ISO 20022.\n","type":"string"},"amount":{"properties":{"currency":{"$ref":"#/components/schemas/currencyCode"},"amount":{"$ref":"#/components/schemas/amountValue"}},"type":"object","required":["currency","amount"]},"amountValue":{"description":"The amount given with fractional digits, where fractions must be compliant to the currency definition.\nUp to 14 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot.\n\n**Example:**\nValid representations for EUR with up to two decimals are:\n\n  * 1056\n  * 5768.2\n  * -1.50\n  * 5877.78\n","pattern":"-?[0-9]{1,14}(\\.[0-9]{1,3})?","type":"string"},"bicfi":{"description":"BICFI\n","pattern":"[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}","type":"string"},"creditorName":{"description":"Creditor name.","maxLength":70,"type":"string"},"address":{"properties":{"streetName":{"maxLength":70,"type":"string"},"buildingNumber":{"type":"string"},"townName":{"type":"string"},"postCode":{"type":"string"},"country":{"$ref":"#/components/schemas/countryCode"}},"type":"object","required":["country"]},"countryCode":{"description":"ISO 3166 ALPHA2 country code.","pattern":"[A-Z]{2}","type":"string"},"remittanceInformationUnstructured":{"description":"Unstructured remittance information.\n","maxLength":140,"type":"string"},"transactionStatus":{"description":"The transaction status is filled with codes of the ISO 20022 data table:\n- 'ACCC': 'AcceptedSettlementCompleted' -\n  Settlement on the creditor's account has been completed.\n- 'ACCP': 'AcceptedCustomerProfile' - \n  Preceding check of technical validation was successful. \n  Customer profile check was also successful.\n- 'ACSC': 'AcceptedSettlementCompleted' - \n  Settlement on the debtor�s account has been completed.\n\n  **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. \n\n  **Warning:** this status is provided for transaction status reasons, not for financial information. \n  It can only be used after bilateral agreement.\n- 'ACSP': 'AcceptedSettlementInProcess' - \n  All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n- 'ACTC': 'AcceptedTechnicalValidation' - \n  Authentication and syntactical and semantical validation are successful.\n- 'ACWC': 'AcceptedWithChange' - \n  Instruction is accepted but a change will be made, such as date or remittance not sent.\n- 'ACWP': 'AcceptedWithoutPosting' - \n  Payment instruction included in the credit transfer is accepted without being posted to the creditor customer�s account.\n- 'RCVD': 'Received' - \n  Payment initiation has been received by the receiving agent.\n- 'PDNG': 'Pending' - \n  Payment initiation or individual transaction included in the payment initiation is pending. \n  Further checks and status update will be performed.\n- 'RJCT': 'Rejected' - \n  Payment initiation or individual transaction included in the payment initiation has been rejected.\n- 'CANC': 'Cancelled'\n  Payment initiation has been cancelled before execution\n- 'ACFC': 'AcceptedFundsChecked' -\n  Preceding check of technical validation and customer profile was successful and an automatic funds check was positive .\n- 'PATC': 'PartiallyAcceptedTechnical'\n  Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful.\n- 'PART': 'PartiallyAccepted' -\n  A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status.\n  Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected.\n","type":"string","enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"]},"tppMessageGeneric":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/tppMessageCodeGeneric"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"tppMessageCodeGeneric":{"description":"Code of the TPP message category.","type":"string"},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"periodicPaymentInitiationWithStatusResponse":{"description":"Generic JSON response body consistion of the corresponding periodic payment initiation JSON body together with an optional transaction status field.\n","properties":{"endToEndIdentification":{"maxLength":35,"type":"string"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"instructedAmount":{"$ref":"#/components/schemas/amount"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAddress":{"$ref":"#/components/schemas/address"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"},"startDate":{"$ref":"#/components/schemas/startDate"},"endDate":{"$ref":"#/components/schemas/endDate"},"executionRule":{"$ref":"#/components/schemas/executionRule"},"frequency":{"$ref":"#/components/schemas/frequencyCode"},"dayOfExecution":{"$ref":"#/components/schemas/dayOfExecution"},"transactionStatus":{"$ref":"#/components/schemas/transactionStatus"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["debtorAccount","instructedAmount","creditorAccount","creditorName","startDate","frequency"]},"startDate":{"description":"The first applicable day of execution starting from this date is the first payment.\n","format":"date","type":"string"},"endDate":{"description":"The last applicable day of execution.\nIf not given, it is an infinite standing order.\n","format":"date","type":"string"},"executionRule":{"description":"\"following\" or \"preceding\" supported as values. \nThis data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday. \nThe payment is then executed either the \"preceding\" or \"following\" working day.\nASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting \nthis execution rule.\n","type":"string","enum":["following","preceding"]},"frequencyCode":{"description":"The following codes from the \"EventFrequency7Code\" of ISO 20022 are supported:\n- \"Daily\"\n- \"Weekly\"\n- \"EveryTwoWeeks\"\n- \"Monthly\"\n- \"EveryTwoMonths\"\n- \"Quarterly\"\n- \"SemiAnnual\"\n- \"Annual\"\n- \"MonthlyVariable\"\n","type":"string","enum":["Daily","Weekly","EveryTwoWeeks","Monthly","EveryTwoMonths","Quarterly","SemiAnnual","Annual","MonthlyVariable"]},"dayOfExecution":{"description":"Day of execution as string.\n\nThis string consists of up two characters.\nLeading zeroes are not allowed.\n\n31 is ultimo of the month.\n","maxLength":2,"type":"string","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"]},"bulkPaymentInitiationWithStatusResponse":{"description":"Generic JSON response body consistion of the corresponding bulk payment initiation JSON body together with an optional transaction status field.\n","properties":{"batchBookingPreferred":{"$ref":"#/components/schemas/batchBookingPreferred"},"requestedExecutionDate":{"format":"date","type":"string"},"acceptorTransactionDateTime":{"format":"date-time","type":"string"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"paymentInformationId":{"maxLength":35,"type":"string"},"payments":{"description":"A list of generic JSON bodies payment initiations for bulk payments via JSON.\n\nNote: Some fields from single payments do not occur in a bulk payment element\n","type":"array","items":{"$ref":"#/components/schemas/paymentInitiationBulkElement_json"}},"transactionStatus":{"$ref":"#/components/schemas/transactionStatus"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["payments","debtorAccount"]},"batchBookingPreferred":{"description":"If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.\n","type":"boolean"},"paymentInitiationBulkElement_json":{"description":"Generic body for a bulk payment initiation entry.\n\nThe bulk entry type is a type which follows the JSON formats for the supported products for single payments\nexcluding the data elements (if supported):\n  * debtorAccount\n  * requestedExecutionDate,\n  * requestedExecutionTime.\nThese data elements may not be contained in any bulk entry.\n\nThis data object can be used to represent valid bulk payment initiations entry for the following JSON based payment product, \nwhich where defined in the Implementation Guidelines:\n\n  * sepa-credit-transfers\n  * instant-sepa-credit-transfers\n  * target-2-payments\n  * cross-border-credit-transfers\n\nFor the convenience of the implementer additional which are already predefined in the Implementation Guidelines \nare included (but commented in source code), such that an ASPSP may add them easily.\n\nTake care: Since the format is intended to fit for all payment products \nthere are additional conditions which are NOT covered by this specification.\nPlease check the Implementation Guidelines for details.\n\n\nThe following data element are depending on the actual payment product available (in source code):\n\n <table style=\"width:100%\">\n <tr><th>Data Element</th><th>SCT EU Core</th><th>SCT INST EU Core</th><th>Target2 Paym. Core</th><th>Cross Border CT Core</th></tr>\n <tr><td>endToEndIdentification</td><td> optional</td> <td>optional</td> <td>optional</td> <td>n.a.</td> </tr>\n <tr><td>instructionIdentification</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>debtorName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>debtorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>ultimateDebtor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>instructedAmount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>\n <tr><td>currencyOfTransfer</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>exchangeRateInformation</td> <td>n.a.</td> <td>n.a.</td><td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>creditorAccount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>\n <tr><td>creditorAgent</td> <td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr>\n <tr><td>creditorAgentName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>creditorName</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>\n <tr><td>creditorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>creditorAddress</td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr>\n <tr><td>creditorNameAndAddress</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>ultimateCreditor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>purposeCode</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>chargeBearer</td> <td>n.a.</td> <td>n.a.</td> <td>optional</td> <td>conditional </td> </tr>\n <tr><td>serviceLevel</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a. </td> </tr>\n <tr><td>remittanceInformationUnstructured</td> <td>optional</td> <td>optional</td> <td> optional</td> <td>optional</td> </tr>\n <tr><td>remittanceInformationUnstructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>remittanceInformationStructured</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>remittanceInformationStructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n    </td></tr>\n  </table>\n\nIMPORTANT: In this API definition the following holds:\n  *  All data elements mentioned above are defined, but some of them are commented, \n    i.e. they are only visible in the source code and can be used by uncommenting them.\n  * Data elements which are mandatory in the table above for all payment products \n    are set to be mandatory in this specification.\n  * Data elements which are indicated in the table above as n.a. for all payment products are commented in the source code.\n  * Data elements which are indicated to be option, conditional or mandatory for at least one payment product \n    in the table above are set to be optional in the s specification except the case where all are defined to be mandatory. \n  * Data element which are indicated to be n.a. can be used by the ASPS if needed. \n    In this case uncomment the the related lines in the source code.\n  * If one uses this data types for some payment products he has to ensure that the used data type is \n    valid according to the underlying payment product, e.g. by some appropriate validations.\n","properties":{"endToEndIdentification":{"maxLength":35,"type":"string"},"instructedAmount":{"$ref":"#/components/schemas/amount"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"creditorAgentName":{"$ref":"#/components/schemas/creditorAgentName"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAddress":{"$ref":"#/components/schemas/address"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"}},"type":"object","required":["instructedAmount","creditorAccount","creditorName"]},"creditorAgentName":{"description":"Creditor agent name.","maxLength":140,"type":"string"},"paymentInitiationSct_pain.001":{"description":"A pain.001 structure corresponding to the SCT schema\n\nurn:iso:std:iso:20022:tech:xsd:pain.001.001.03\n","type":"string"},"paymentInitiationSctInst_pain.001":{"description":"A pain.001 structure corresponding to the SCT INST schema.\n","type":"string"},"paymentInitiationTarget2_pain.001":{"description":"A pain.001 structure corresponding to the target-2 schema.\n\nFor TARGET-2 payments only community wide pain.001 schemes do exist.\n","type":"string"},"paymentInitiationCrossBorder_pain.001":{"description":"A pain.001 structure corresponding to the cross-border schema.\n\nFor cross-border payments only community wide pain.001 schemes do exist.\n","type":"string"},"periodicPaymentInitiationMultipartBody":{"description":"The multipart message definition for the initiation of a periodic payment initiation \nwhere the information of the payment is contained in a pain.001 message (Part 1) and \nthe additional information related to the periodic payment is an additional JSON message (Part 2).\n","properties":{"xml_sct":{"oneOf":[{"$ref":"#/components/schemas/paymentInitiationSct_pain.001"},{"$ref":"#/components/schemas/paymentInitiationSctInst_pain.001"},{"$ref":"#/components/schemas/paymentInitiationTarget2_pain.001"},{"$ref":"#/components/schemas/paymentInitiationCrossBorder_pain.001"}]},"json_standingorderType":{"$ref":"#/components/schemas/periodicPaymentInitiation_xml-Part2-standingorderType_json"}},"type":"object"},"periodicPaymentInitiation_xml-Part2-standingorderType_json":{"description":"The body part 2 of a periodic payment initiation request contains the execution related information \nof the periodic payment.\n","properties":{"startDate":{"$ref":"#/components/schemas/startDate"},"endDate":{"$ref":"#/components/schemas/endDate"},"executionRule":{"$ref":"#/components/schemas/executionRule"},"frequency":{"$ref":"#/components/schemas/frequencyCode"},"dayOfExecution":{"$ref":"#/components/schemas/dayOfExecution"},"monthsOfExecution":{"$ref":"#/components/schemas/monthsOfExecution"}},"type":"object","required":["startDate","frequency"]},"monthsOfExecution":{"description":"The format is following the regular expression \\d{1,2}. \nThe array is restricted to 11 entries. \nThe values contained in the array entries shall all be different and the maximum value of one entry is 12.\nThis attribute is contained if and only if the frequency equals \"MonthlyVariable\".\nExample: An execution on January, April and October each year is addressed by [\"1\", \"4\", \"10\"].\n","maxItems":11,"type":"array","items":{"maxLength":2,"type":"string","enum":["1","2","3","4","5","6","7","8","9","10","11","12"]}},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_PaymentInitiationInformation":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/paymentInitiationWithStatusResponse"},{"$ref":"#/components/schemas/periodicPaymentInitiationWithStatusResponse"},{"$ref":"#/components/schemas/bulkPaymentInitiationWithStatusResponse"}]}},"application/xml":{"schema":{"oneOf":[{"$ref":"#/components/schemas/paymentInitiationSct_pain.001"},{"$ref":"#/components/schemas/paymentInitiationSctInst_pain.001"},{"$ref":"#/components/schemas/paymentInitiationTarget2_pain.001"},{"$ref":"#/components/schemas/paymentInitiationCrossBorder_pain.001"}]}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/periodicPaymentInitiationMultipartBody"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}":{"get":{"tags":["payments"],"summary":"Get payment information","description":"Returns the content of a payment object","operationId":"getPaymentInformation","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"200":{"$ref":"#/components/responses/OK_200_PaymentInitiationInformation"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Payment cancellation request

> 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\
> &#x20; \* access method was rejected,\
> &#x20; \* access method was successful, or\
> &#x20; \* access method is generally applicable, but further authorisation processes are needed.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"TPP-Redirect-Preferred":{"description":"If it equals \"true\", the TPP prefers a redirect over an embedded SCA approach.\nIf it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled\nSCA approach, depending on the parameter TPP-Decoupled-Preferred and the choice of the SCA procedure by the TPP/PSU.\nIf the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the\nTPP/PSU.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Redirect-Preferred"},"TPP-Decoupled-Preferred":{"description":"If it equals \"true\", the TPP prefers a decoupled SCA approach. \nIf it equals \"false\", the TPP prefers not to use the decoupled approach for SCA. The ASPSP will then choose between the embedded or the redirect SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. \nIf the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the parameter TPP-Redirect-Preferred and the SCA method chosen by the TPP/PSU. \nThe parameter might be ignored by the ASPSP.\nIf both parameters TPP-Redirect-Preferred and TPP-Decoupled-Preferred are present and true, the request is still not rejected, but it is up to the ASPSP, which approach will actually be used.\n\n**Remark for Future:** \nTPP-Redirect-Preferred and TPP-Decoupled-Preferred will be revised in future versions, maybe merged. Currently kept separate for downward compatibility.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Decoupled-Preferred"},"TPP-Nok-Redirect-URI":{"description":"If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case\nof a negative result of the redirect SCA method. This might be ignored by the ASPSP.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Nok-Redirect-URI"},"TPP-Redirect-URI":{"description":"URI of the TPP, where the transaction flow shall be redirected to after a Redirect.\n\nMandated for the Redirect SCA Approach, specifically \nwhen TPP-Redirect-Preferred equals \"true\".\nIt is recommended to always use this header field.\n\n**Remark for Future:** \nThis field might be changed to mandatory in the next version of the specification.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Redirect-URI"},"TPP-Explicit-Authorisation-Preferred":{"description":"If it equals \"true\", the TPP prefers to start the authorisation process separately, \ne.g. because of the usage of a signing basket. \nThis preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.\n\nIf it equals \"false\" or if the parameter is not used, there is no preference of the TPP. \nThis especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, \nwithout using a signing basket.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Explicit-Authorisation-Preferred"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"paymentInitiationCancelResponse-202":{"description":"Body of the response for a successful cancel payment request.","properties":{"transactionStatus":{"$ref":"#/components/schemas/transactionStatus"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"_links":{"$ref":"#/components/schemas/_linksPaymentInitiationCancel"}},"type":"object","required":["transactionStatus"]},"transactionStatus":{"description":"The transaction status is filled with codes of the ISO 20022 data table:\n- 'ACCC': 'AcceptedSettlementCompleted' -\n  Settlement on the creditor's account has been completed.\n- 'ACCP': 'AcceptedCustomerProfile' - \n  Preceding check of technical validation was successful. \n  Customer profile check was also successful.\n- 'ACSC': 'AcceptedSettlementCompleted' - \n  Settlement on the debtor�s account has been completed.\n\n  **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. \n\n  **Warning:** this status is provided for transaction status reasons, not for financial information. \n  It can only be used after bilateral agreement.\n- 'ACSP': 'AcceptedSettlementInProcess' - \n  All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n- 'ACTC': 'AcceptedTechnicalValidation' - \n  Authentication and syntactical and semantical validation are successful.\n- 'ACWC': 'AcceptedWithChange' - \n  Instruction is accepted but a change will be made, such as date or remittance not sent.\n- 'ACWP': 'AcceptedWithoutPosting' - \n  Payment instruction included in the credit transfer is accepted without being posted to the creditor customer�s account.\n- 'RCVD': 'Received' - \n  Payment initiation has been received by the receiving agent.\n- 'PDNG': 'Pending' - \n  Payment initiation or individual transaction included in the payment initiation is pending. \n  Further checks and status update will be performed.\n- 'RJCT': 'Rejected' - \n  Payment initiation or individual transaction included in the payment initiation has been rejected.\n- 'CANC': 'Cancelled'\n  Payment initiation has been cancelled before execution\n- 'ACFC': 'AcceptedFundsChecked' -\n  Preceding check of technical validation and customer profile was successful and an automatic funds check was positive .\n- 'PATC': 'PartiallyAcceptedTechnical'\n  Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful.\n- 'PART': 'PartiallyAccepted' -\n  A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status.\n  Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected.\n","type":"string","enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"]},"scaMethods":{"description":"This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.\n","type":"array","items":{"$ref":"#/components/schemas/authenticationObject"}},"authenticationObject":{"description":"Authentication object.\n","properties":{"authenticationType":{"$ref":"#/components/schemas/authenticationType"},"authenticationVersion":{"description":"Depending on the \"authenticationType\".\nThis version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.\nThis version can be referred to in the ASPSP?s documentation.\n","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.\nAlternatively this could be a description provided by the ASPSP like \"SMS OTP on phone +49160 xxxxx 28\".\nThis name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.\n","type":"string"},"explanation":{"description":"Detailed information about the SCA method for the PSU.\n","type":"string"}},"type":"object","required":["authenticationType","authenticationMethodId"]},"authenticationType":{"description":"Type of the authentication method.\n\nMore authentication types might be added during implementation projects and documented in the ASPSP documentation.\n\n  - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n  - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. \n    To contact the card, the PSU normally needs a (handheld) device. \n    With this device, the PSU either reads the challenging data through a visual interface like flickering or \n    the PSU types in the challenge through the device key pad. \n    The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n  - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data \n    which can be read in by a consumer device or specific mobile app. \n    The device resp. the specific app than derives an OTP from the visual challenge data and displays \n    the OTP to the PSU.\n  - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU.\n  - 'SMTP_OTP': An OTP is sent via email to the PSU.\n","type":"string","enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP","SMTP_OTP"]},"authenticationMethodId":{"description":"An identification provided by the ASPSP for the later identification of the authentication method selection.\n","maxLength":35,"type":"string"},"chosenScaMethod":{"$ref":"#/components/schemas/authenticationObject"},"challengeData":{"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA.\nIn rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.\n","properties":{"image":{"description":"PNG data (max. 512 kilobyte) to be displayed to the PSU,\nBase64 encoding, cp. [RFC4648].\nThis attribute is used only, when PHOTO_OTP or CHIP_OTP\nis the selected SCA method.\n","type":"string"},"data":{"description":"A collection of strings as challenge data.","type":"array","items":{"type":"string"}},"imageLink":{"description":"A link where the ASPSP will provides the challenge image for the TPP.","format":"url","type":"string"},"otpMaxLength":{"description":"The maximal length for the OTP to be typed in by the PSU.","type":"integer"},"otpFormat":{"description":"The format type of the OTP to be typed in. The admitted values are \"characters\" or \"integer\".","type":"string","enum":["characters","integer"]},"additionalInformation":{"description":"Additional explanation for the PSU to explain\ne.g. fallback mechanism for the chosen SCA method.\nThe TPP is obliged to show this to the PSU.\n","type":"string"}},"type":"object"},"_linksPaymentInitiationCancel":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the \ndynamical decisions of the ASPSP when processing the request.\n\nRemark: All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP defined extensions):\n\n  * 'startAuthorisation': \n    In case, where just the authorisation process of the cancellation needs to be started, \n    but no additional data needs to be updated for time being (no authentication method to be selected, \n    no PSU identification nor PSU authentication data to be uploaded).\n  * 'startAuthorisationWithPsuIdentification': \n    In case where a PSU identification needs to be updated when starting the cancellation authorisation:\n    The link to the cancellation-authorisations end-point, where the cancellation sub-resource has to be \n    generated while uploading the PSU identification data.\n  * 'startAuthorisationWithPsuAuthentication': \n    In case of a yet to be created authorisation sub-resource: The link to the cancelation authorisation end-point, \n    where the authorisation sub-resource has to be generated while uploading the PSU authentication data.\n  * 'startAuthorisationWithEncryptedPsuAuthentication':\n    Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on \n    application layer in uploading.\n  * 'startAuthorisationWithAuthenticationMethodSelection':\n    The link to the authorisation end-point, where the cancellation-authorisation sub-resource has to be \n    generated while selecting the authentication method. This link is contained under exactly the same \n    conditions as the data element 'scaMethods'\n","properties":{"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS_CANC":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS_CANC"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS_CANC":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS_CANC"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS_CANC":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["CANCELLATION_INVALID","SERVICE_INVALID"]},"Error405_PIS_CANC":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for a payment cancelation (PIS).\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS_CANC"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS_CANC"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"RECEIVED_202_PaymentInitiationCancel":{"description":"Received","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/paymentInitiationCancelResponse-202"}}}},"NO_CONTENT_204_PaymentInitiationCancel":{"description":"No Content","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}":{"delete":{"tags":["payments"],"summary":"Payment cancellation request","description":"This method initiates the cancellation of a payment. \nDepending on the payment-service, the payment-product and the ASPSP's implementation, \nthis TPP call might be sufficient to cancel a payment. \nIf an authorisation of the payment cancellation is mandated by the ASPSP, \na corresponding hyperlink will be contained in the response message.\n\nCancels 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). \n\nThe response to this DELETE command will tell the TPP whether the\n  * access method was rejected,\n  * access method was successful, or\n  * access method is generally applicable, but further authorisation processes are needed.\n","operationId":"cancelPayment","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$ref":"#/components/parameters/TPP-Redirect-Preferred"},{"$ref":"#/components/parameters/TPP-Decoupled-Preferred"},{"$ref":"#/components/parameters/TPP-Nok-Redirect-URI"},{"$ref":"#/components/parameters/TPP-Redirect-URI"},{"$ref":"#/components/parameters/TPP-Explicit-Authorisation-Preferred"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"202":{"$ref":"#/components/responses/RECEIVED_202_PaymentInitiationCancel"},"204":{"$ref":"#/components/responses/NO_CONTENT_204_PaymentInitiationCancel"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS_CANC"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS_CANC"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Will deliver an array of resource identifications to all generated cancellation authorisation sub-resources

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

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"authorisations":{"description":"An array of all authorisationIds.","properties":{"authorisationIds":{"$ref":"#/components/schemas/authorisationsList"}},"type":"object","required":["authorisationIds"]},"authorisationsList":{"description":"An array of all authorisationIds.","type":"array","items":{"$ref":"#/components/schemas/authorisationId"}},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_Authorisations":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/authorisations"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/cancellation-authorisations":{"get":{"tags":["payments"],"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.\n","operationId":"getPaymentInitiationCancellationAuthorisationInformation","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"200":{"$ref":"#/components/responses/OK_200_Authorisations"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Start the authorisation process for the cancellation of the addressed payment

> 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:\
> \
> &#x20; \* The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment \
> &#x20;   initiation response that an explicit start of the authorisation process is needed by the TPP. \
> &#x20;   The 'startAuthorisation' hyperlink can transport more information about data which needs to be \
> &#x20;   uploaded by using the extended forms:\
> &#x20;   \* 'startAuthorisationWithPsuIdentification'\
> &#x20;   \* 'startAuthorisationWithPsuAuthentication'\
> &#x20;   \* 'startAuthorisationWithAuthentciationMethodSelection' \
> &#x20; \* The related payment initiation cannot yet be executed since a multilevel SCA is mandated.\
> &#x20; \* The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding \
> &#x20;   payment cancellation response that an explicit start of the authorisation process is needed by the TPP. \
> &#x20;   The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded \
> &#x20;   by using the extended forms as indicated above.\
> &#x20; \* The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for \
> &#x20;   executing the cancellation.\
> &#x20; \* The signing basket needs to be authorised yet.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-ID":{"description":"Client ID of the PSU in the ASPSP client interface. \n\nMight be mandated in the ASPSP's documentation.\n\nIt might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding\nAIS service in the same session.\nIn this case the ASPSP might check whether PSU-ID and token match, \naccording to ASPSP documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID"},"PSU-ID-Type":{"description":"Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.\n\nIn this case, the mean and use are then defined in the ASPSP’s documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID-Type"},"PSU-Corporate-ID":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID"},"PSU-Corporate-ID-Type":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID-Type"},"TPP-Redirect-Preferred":{"description":"If it equals \"true\", the TPP prefers a redirect over an embedded SCA approach.\nIf it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled\nSCA approach, depending on the parameter TPP-Decoupled-Preferred and the choice of the SCA procedure by the TPP/PSU.\nIf the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the\nTPP/PSU.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Redirect-Preferred"},"TPP-Redirect-URI":{"description":"URI of the TPP, where the transaction flow shall be redirected to after a Redirect.\n\nMandated for the Redirect SCA Approach, specifically \nwhen TPP-Redirect-Preferred equals \"true\".\nIt is recommended to always use this header field.\n\n**Remark for Future:** \nThis field might be changed to mandatory in the next version of the specification.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Redirect-URI"},"TPP-Nok-Redirect-URI":{"description":"If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case\nof a negative result of the redirect SCA method. This might be ignored by the ASPSP.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Nok-Redirect-URI"},"TPP-Notification-URI":{"description":"URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent.\nThis header field may by ignored by the ASPSP.\n\nFor security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:\n\nURIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications would be compliant.\n\nWildcard definitions shall be taken into account for compliance checks by the ASPSP.\n ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.\n","required":false,"schema":{"type":"string"},"in":"header","name":"TPP-Notification-URI"},"TPP-Notification-Content-Preferred":{"description":"The string has the form \n\nstatus=X1, ..., Xn\n\nwhere Xi is one of the constants SCA, PROCESS, LAST and where constants are not\nrepeated.\nThe usage of the constants supports the of following semantics:\n\n  SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.\n\n  PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP.\n  LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.\n\nThis header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"TPP-Notification-Content-Preferred"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"startPaymentInitiationCancellationAuthorisationPsuData":{"oneOf":[{},{"$ref":"#/components/schemas/updatePsuAuthentication"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethod"},{"$ref":"#/components/schemas/transactionAuthorisation"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethodAndAuthorise"}]},"updatePsuAuthentication":{"description":"Content of the body of a Update PSU authentication request\n\nPassword subfield is used.\n","properties":{"psuData":{"$ref":"#/components/schemas/psuData"}},"type":"object","required":["psuData"]},"psuData":{"description":"PSU Data for Update PSU authentication.","minProperties":1,"properties":{"password":{"description":"Password.","type":"string"},"encryptedPassword":{"description":"Encrypted password.","type":"string"},"additionalPassword":{"description":"Additional password in plaintext.","type":"string"},"additionalEncryptedPassword":{"description":"Additional encrypted password.","type":"string"}},"type":"object"},"selectPsuAuthenticationMethod":{"description":"Content of the body of a Select PSU authentication method request\n","properties":{"authenticationMethodId":{"$ref":"#/components/schemas/authenticationMethodId"}},"type":"object","required":["authenticationMethodId"]},"authenticationMethodId":{"description":"An identification provided by the ASPSP for the later identification of the authentication method selection.\n","maxLength":35,"type":"string"},"transactionAuthorisation":{"description":"Content of the body of a transaction authorisation request\n","properties":{"scaAuthenticationData":{"$ref":"#/components/schemas/scaAuthenticationData"}},"type":"object","required":["scaAuthenticationData"]},"scaAuthenticationData":{"description":"SCA authentication data, depending on the chosen authentication method. \nIf the data is binary, then it is base64 encoded.\n","type":"string"},"selectPsuAuthenticationMethodAndAuthorise":{"description":"Select PSU authentication method and transaction authorisation\n","properties":{"authenticationMethodId":{"$ref":"#/components/schemas/authenticationMethodId"},"scaAuthenticationData":{"$ref":"#/components/schemas/scaAuthenticationData"}},"type":"object","required":["authenticationMethodId","scaAuthenticationData"]},"startScaprocessResponse":{"description":"Body of the JSON response for a Start SCA authorisation request.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"authorisationId":{"$ref":"#/components/schemas/authorisationId"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"_links":{"$ref":"#/components/schemas/_linksStartScaProcess"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["scaStatus","authorisationId","_links"]},"scaStatus":{"description":"This data element is containing information about the status of the SCA method applied. \n\nThe following codes are defined for this data type.\n\n  * 'received':\n    An authorisation or cancellation-authorisation resource has been created successfully.\n  * 'psuIdentified':\n    The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n  * 'psuAuthenticated':\n    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.\n  * 'scaMethodSelected':\n    The PSU/TPP has selected the related SCA routine. \n    If the SCA method is chosen implicitly since only one SCA method is available, \n    then this is the first status to be reported instead of 'received'.\n  * 'unconfirmed':\n    SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. \n  * 'started':\n    The addressed SCA routine has been started.\n  * 'finalised':\n    The SCA routine has been finalised successfully (including a potential confirmation command). \n    This is a final status of the authorisation resource.\n  * 'failed':\n    The SCA routine failed.\n    This is a final status of the authorisation resource.\n  * 'exempted':\n    SCA was exempted for the related transaction, the related authorisation is successful.\n    This is a final status of the authorisation resource.\n","type":"string","enum":["received","psuIdentified","psuAuthenticated","scaMethodSelected","started","unconfirmed","finalised","failed","exempted"]},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"scaMethods":{"description":"This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.\n","type":"array","items":{"$ref":"#/components/schemas/authenticationObject"}},"authenticationObject":{"description":"Authentication object.\n","properties":{"authenticationType":{"$ref":"#/components/schemas/authenticationType"},"authenticationVersion":{"description":"Depending on the \"authenticationType\".\nThis version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.\nThis version can be referred to in the ASPSP?s documentation.\n","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.\nAlternatively this could be a description provided by the ASPSP like \"SMS OTP on phone +49160 xxxxx 28\".\nThis name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.\n","type":"string"},"explanation":{"description":"Detailed information about the SCA method for the PSU.\n","type":"string"}},"type":"object","required":["authenticationType","authenticationMethodId"]},"authenticationType":{"description":"Type of the authentication method.\n\nMore authentication types might be added during implementation projects and documented in the ASPSP documentation.\n\n  - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n  - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. \n    To contact the card, the PSU normally needs a (handheld) device. \n    With this device, the PSU either reads the challenging data through a visual interface like flickering or \n    the PSU types in the challenge through the device key pad. \n    The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n  - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data \n    which can be read in by a consumer device or specific mobile app. \n    The device resp. the specific app than derives an OTP from the visual challenge data and displays \n    the OTP to the PSU.\n  - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU.\n  - 'SMTP_OTP': An OTP is sent via email to the PSU.\n","type":"string","enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP","SMTP_OTP"]},"chosenScaMethod":{"$ref":"#/components/schemas/authenticationObject"},"challengeData":{"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA.\nIn rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.\n","properties":{"image":{"description":"PNG data (max. 512 kilobyte) to be displayed to the PSU,\nBase64 encoding, cp. [RFC4648].\nThis attribute is used only, when PHOTO_OTP or CHIP_OTP\nis the selected SCA method.\n","type":"string"},"data":{"description":"A collection of strings as challenge data.","type":"array","items":{"type":"string"}},"imageLink":{"description":"A link where the ASPSP will provides the challenge image for the TPP.","format":"url","type":"string"},"otpMaxLength":{"description":"The maximal length for the OTP to be typed in by the PSU.","type":"integer"},"otpFormat":{"description":"The format type of the OTP to be typed in. The admitted values are \"characters\" or \"integer\".","type":"string","enum":["characters","integer"]},"additionalInformation":{"description":"Additional explanation for the PSU to explain\ne.g. fallback mechanism for the chosen SCA method.\nThe TPP is obliged to show this to the PSU.\n","type":"string"}},"type":"object"},"_linksStartScaProcess":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the \nresponse depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP defined \nextensions):\n\n- 'scaRedirect': \n  In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to \n  redirect the PSU browser.\n- 'scaOAuth': \n  In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.\n* 'confirmation': \n  Might be added by the ASPSP if either the \"scaRedirect\" or \"scaOAuth\" hyperlink is returned \n  in the same response message. \n  This hyperlink defines the URL to the resource which needs to be updated with \n    * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or\n    * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.\n- 'updatePsuIdentification': \n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU identification data needs to be uploaded.\n- 'startAuthorisationWithPsuAuthentication':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU authentication data needs to be uploaded.\n- 'startAuthorisationWithEncryptedPsuAuthentication':\n    Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on \n    application layer in uploading.\n- 'selectAuthenticationMethod':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where the selected authentication method needs to be uploaded. \n  This link is contained under exactly the same conditions as the data element 'scaMethods'.\n- 'authoriseTransaction':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where the authorisation data has to be uploaded, e.g. the TOP received by SMS. \n- 'scaStatus': \n  The link to retrieve the scaStatus of the corresponding authorisation sub-resource. \n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"CREATED_201_StartScaProcess":{"description":"Created","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"ASPSP-SCA-Approach":{"$ref":"#/components/headers/ASPSP-SCA-Approach"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/startScaprocessResponse"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"ASPSP-SCA-Approach":{"description":"This data element must be contained, if the SCA Approach is already fixed.\nPossible values are\n  * EMBEDDED\n  * DECOUPLED\n  * REDIRECT\nThe OAuth SCA approach will be subsumed by REDIRECT.\n","required":false,"schema":{"type":"string","enum":["EMBEDDED","DECOUPLED","REDIRECT"]}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/cancellation-authorisations":{"post":{"tags":["payments"],"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. \nThe message might in addition transmit authentication and authorisation related data.\n\nThis method is iterated n times for a n times SCA authorisation in a \ncorporate context, each creating an own authorisation sub-endpoint for \nthe corresponding PSU authorising the cancellation-authorisation.\n\nThe ASPSP might make the usage of this access method unnecessary in case \nof only one SCA process needed, since the related authorisation resource \nmight be automatically created by the ASPSP after the submission of the \npayment data with the first POST payments/{payment-product} call.\n\nThe start authorisation process is a process which is needed for creating a new authorisation \nor cancellation sub-resource. \n\nThis applies in the following scenarios:\n\n  * The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment \n    initiation response that an explicit start of the authorisation process is needed by the TPP. \n    The 'startAuthorisation' hyperlink can transport more information about data which needs to be \n    uploaded by using the extended forms:\n    * 'startAuthorisationWithPsuIdentification'\n    * 'startAuthorisationWithPsuAuthentication'\n    * 'startAuthorisationWithAuthentciationMethodSelection' \n  * The related payment initiation cannot yet be executed since a multilevel SCA is mandated.\n  * The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding \n    payment cancellation response that an explicit start of the authorisation process is needed by the TPP. \n    The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded \n    by using the extended forms as indicated above.\n  * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for \n    executing the cancellation.\n  * The signing basket needs to be authorised yet.\n","operationId":"startPaymentInitiationCancellationAuthorisation","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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-Notification-URI"},{"$ref":"#/components/parameters/TPP-Notification-Content-Preferred"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/startPaymentInitiationCancellationAuthorisationPsuData"}}}},"responses":{"201":{"$ref":"#/components/responses/CREATED_201_StartScaProcess"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Payment initiation request

> 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\*\*:\
> \
> &#x20; \- Payment products with payment information in \*JSON\* format:\
> &#x20;   \- \*\*\*sepa-credit-transfers\*\*\*\
> &#x20;   \- \*\*\*instant-sepa-credit-transfers\*\*\*\
> &#x20;   \- \*\*\*target-2-payments\*\*\*\
> &#x20;   \- \*\*\*cross-border-credit-transfers\*\*\*\
> &#x20; \- Payment products with payment information in \*pain.001\* XML format:\
> &#x20;   \- \*\*\*pain.001-sepa-credit-transfers\*\*\*\
> &#x20;   \- \*\*\*pain.001-instant-sepa-credit-transfers\*\*\*\
> &#x20;   \- \*\*\*pain.001-target-2-payments\*\*\*\
> &#x20;   \- \*\*\*pain.001-cross-border-credit-transfers\*\*\*\
> \
> Furthermore the request body depends on the \*\*payment-service\*\*:\
> &#x20; \* \*\*\*payments\*\*\*: A single payment initiation request.\
> &#x20; \* \*\*\*bulk-payments\*\*\*: A collection of several payment initiation requests.\
> \
> &#x20;   In case of a \*pain.001\* message there are more than one payments contained in the \*pain.001 message.\
> \
> &#x20;   In case of a \*JSON\* there are several JSON payment blocks contained in a joining list.\
> &#x20; \* \*\*\*periodic-payments\*\*\*: \
> &#x20;   Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} \
> &#x20;    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 multilevel SCA Processes\
> \
> The payment initiation requests are independent from the need of one or multilevel \
> SCA processing, i.e. independent from the number of authorisations needed for the execution of payments. \
> \
> But the response messages are specific to either one SCA processing or multilevel SCA processing. \
> \
> For payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation, \
> i.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the \
> response message of a Payment Initiation 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.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-ID":{"description":"Client ID of the PSU in the ASPSP client interface. \n\nMight be mandated in the ASPSP's documentation.\n\nIt might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding\nAIS service in the same session.\nIn this case the ASPSP might check whether PSU-ID and token match, \naccording to ASPSP documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID"},"PSU-ID-Type":{"description":"Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.\n\nIn this case, the mean and use are then defined in the ASPSP’s documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID-Type"},"PSU-Corporate-ID":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID"},"PSU-Corporate-ID-Type":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID-Type"},"consentId_HEADER_optional":{"description":"This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service.\nThis then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.\n","required":false,"schema":{"$ref":"#/components/schemas/consentId"},"in":"header","name":"Consent-ID"},"PSU-IP-Address_mandatory":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\nIf not available, the TPP shall use the IP Address used by the TPP when submitting this request.\n","required":true,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"TPP-Redirect-Preferred":{"description":"If it equals \"true\", the TPP prefers a redirect over an embedded SCA approach.\nIf it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled\nSCA approach, depending on the parameter TPP-Decoupled-Preferred and the choice of the SCA procedure by the TPP/PSU.\nIf the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the\nTPP/PSU.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Redirect-Preferred"},"TPP-Decoupled-Preferred":{"description":"If it equals \"true\", the TPP prefers a decoupled SCA approach. \nIf it equals \"false\", the TPP prefers not to use the decoupled approach for SCA. The ASPSP will then choose between the embedded or the redirect SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. \nIf the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the parameter TPP-Redirect-Preferred and the SCA method chosen by the TPP/PSU. \nThe parameter might be ignored by the ASPSP.\nIf both parameters TPP-Redirect-Preferred and TPP-Decoupled-Preferred are present and true, the request is still not rejected, but it is up to the ASPSP, which approach will actually be used.\n\n**Remark for Future:** \nTPP-Redirect-Preferred and TPP-Decoupled-Preferred will be revised in future versions, maybe merged. Currently kept separate for downward compatibility.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Decoupled-Preferred"},"TPP-Redirect-URI":{"description":"URI of the TPP, where the transaction flow shall be redirected to after a Redirect.\n\nMandated for the Redirect SCA Approach, specifically \nwhen TPP-Redirect-Preferred equals \"true\".\nIt is recommended to always use this header field.\n\n**Remark for Future:** \nThis field might be changed to mandatory in the next version of the specification.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Redirect-URI"},"TPP-Nok-Redirect-URI":{"description":"If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case\nof a negative result of the redirect SCA method. This might be ignored by the ASPSP.\n","required":false,"schema":{"format":"uri","type":"string"},"in":"header","name":"TPP-Nok-Redirect-URI"},"TPP-Explicit-Authorisation-Preferred":{"description":"If it equals \"true\", the TPP prefers to start the authorisation process separately, \ne.g. because of the usage of a signing basket. \nThis preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.\n\nIf it equals \"false\" or if the parameter is not used, there is no preference of the TPP. \nThis especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, \nwithout using a signing basket.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Explicit-Authorisation-Preferred"},"TPP-Rejection-NoFunds-Preferred":{"description":"If it equals \"true\" then the TPP prefers a rejection of the payment initiation in case the ASPSP is \nproviding an integrated confirmation of funds request an the result of this is that not sufficient \nfunds are available.\n\nIf it equals \"false\" then the TPP prefers that the ASPSP is dealing with the payment initiation like \nin the ASPSPs online channel, potentially waiting for a certain time period for funds to arrive to initiate the payment.\n\nThis parameter might be ignored by the ASPSP.\n","required":false,"schema":{"type":"boolean"},"in":"header","name":"TPP-Rejection-NoFunds-Preferred"},"TPP-Brand-Logging-Information":{"description":"This header might be used by TPPs to inform the ASPSP about the brand used by the TPP towards the PSU. \nThis information is meant for logging entries to enhance communication between ASPSP and PSU or ASPSP and TPP. \nThis header might be ignored by the ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"TPP-Brand-Logging-Information"},"TPP-Notification-URI":{"description":"URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent.\nThis header field may by ignored by the ASPSP.\n\nFor security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:\n\nURIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications would be compliant.\n\nWildcard definitions shall be taken into account for compliance checks by the ASPSP.\n ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.\n","required":false,"schema":{"type":"string"},"in":"header","name":"TPP-Notification-URI"},"TPP-Notification-Content-Preferred":{"description":"The string has the form \n\nstatus=X1, ..., Xn\n\nwhere Xi is one of the constants SCA, PROCESS, LAST and where constants are not\nrepeated.\nThe usage of the constants supports the of following semantics:\n\n  SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.\n\n  PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP.\n  LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.\n\nThis header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"TPP-Notification-Content-Preferred"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"consentId":{"description":"ID of the corresponding consent object as returned by an account information consent request.\n","type":"string"},"paymentInitiation_json":{"description":"Generic Body for a payment initiation via JSON.\n\nThis generic JSON body can be used to represent valid payment initiations for the following JSON based payment product, \nwhich where defined in the Implementation Guidelines:\n\n  * sepa-credit-transfers\n  * instant-sepa-credit-transfers\n  * target-2-payments\n  * cross-border-credit-transfers\n\nFor the convenience of the implementer additional which are already predefined in the Implementation Guidelines \nare included (but commented in source code), such that an ASPSP may add them easily.\n\nTake care: Since the format is intended to fit for all payment products \nthere are additional conditions which are NOT covered by this specification.\nPlease check the Implementation Guidelines for details.\n\n\nThe following data element are depending on the actual payment product available (in source code):\n\n <table style=\"width:100%\">\n <tr><th>Data Element</th><th>SCT EU Core</th><th>SCT INST EU Core</th><th>Target2 Paym. Core</th><th>Cross Border CT Core</th></tr>\n <tr><td>endToEndIdentification</td><td> optional</td> <td>optional</td> <td>optional</td> <td>n.a.</td> </tr>\n <tr><td>instructionIdentification</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>debtorName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>debtorAccount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>\n <tr><td>debtorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>ultimateDebtor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>instructedAmount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>\n <tr><td>currencyOfTransfer</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>exchangeRateInformation</td> <td>n.a.</td> <td>n.a.</td><td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>creditorAccount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>\n <tr><td>creditorAgent</td> <td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr>\n <tr><td>creditorAgentName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>creditorName</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>\n <tr><td>creditorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>creditorAddress</td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr>\n <tr><td>creditorNameAndAddress</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>ultimateCreditor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>purposeCode</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>chargeBearer</td> <td>n.a.</td> <td>n.a.</td> <td>optional</td> <td>conditional </td> </tr>\n <tr><td>serviceLevel</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a. </td> </tr>\n <tr><td>remittanceInformationUnstructured</td> <td>optional</td> <td>optional</td> <td> optional</td> <td>optional</td> </tr>\n <tr><td>remittanceInformationUnstructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>remittanceInformationStructured</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>remittanceInformationStructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>requestedExecutionDate</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n <tr><td>requestedExecutionTime</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>\n    </td></tr>\n  </table>\n\nIMPORTANT: In this API definition the following holds:\n  *  All data elements mentioned above are defined, but some of them are commented, \n    i.e. they are only visible in the source code and can be used by uncommenting them.\n  * Data elements which are mandatory in the table above for all payment products \n    are set to be mandatory in this specification.\n  * Data elements which are indicated in the table above as n.a. for all payment products are commented in the source code.\n  * Data elements which are indicated to be option, conditional or mandatory for at least one payment product \n    in the table above are set to be optional in the s specification except the case where all are defined to be mandatory. \n  * Data element which are indicated to be n.a. can be used by the ASPS if needed. \n    In this case uncomment the the related lines in the source code.\n  * If one uses this data types for some payment products he has to ensure that the used data type is \n    valid according to the underlying payment product, e.g. by some appropriate validations.\n","properties":{"endToEndIdentification":{"maxLength":35,"type":"string"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"instructedAmount":{"$ref":"#/components/schemas/amount"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"creditorAgentName":{"$ref":"#/components/schemas/creditorAgentName"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAddress":{"$ref":"#/components/schemas/address"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"}},"type":"object","required":["instructedAmount","creditorAccount","creditorName"]},"accountReference":{"description":"Reference to an account by either\n  * IBAN, of a payment accounts, or\n  * BBAN, for payment accounts if there is no IBAN, or \n  * the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or\n  * the Primary Account Number (PAN) of a card in a masked form, or\n  * an alias to access a payment account via a registered mobile phone number (MSISDN), or\n  * a proprietary ID of the  respective account that uniquely identifies the account for this ASPSP.\n","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"},"other":{"$ref":"#/components/schemas/otherType"},"currency":{"$ref":"#/components/schemas/currencyCode"},"cashAccountType":{"$ref":"#/components/schemas/cashAccountType"}},"type":"object"},"iban":{"description":"IBAN of an account.","pattern":"[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}","type":"string"},"bban":{"description":"Basic Bank Account Number (BBAN) Identifier.\n\nThis data element can be used in the body of the consent request.\n  Message for retrieving account access consent from this account. This\n  data elements is used for payment accounts which have no IBAN.\n  ISO20022: Basic Bank Account Number (BBAN). \n\n  Identifier used nationally by financial institutions, i.e., in individual countries, \n  generally as part of a National Account Numbering Scheme(s), \n  which uniquely identifies the account of a customer.\n","pattern":"[a-zA-Z0-9]{1,30}","type":"string"},"pan":{"description":"Primary Account Number according to ISO/IEC 7812.\n","maxLength":35,"type":"string"},"maskedPan":{"description":"Masked Primary Account Number.\n","maxLength":35,"type":"string"},"msisdn":{"description":"Mobile phone number.","maxLength":35,"type":"string"},"otherType":{"description":"In cases where the specifically defined criteria (IBAN, BBAN, MSISDN) are not provided to identify an instance of the respective account type (e.g. a savings account), the ASPSP shall include a proprietary ID of the respective account that uniquely identifies the account for this ASPSP.","properties":{"identification":{"description":"Proprietary identification of the account.","maxLength":35,"type":"string"},"schemeNameCode":{"description":"An entry provided by an external ISO code list.","maxLength":35,"type":"string"},"schemeNameProprietary":{"description":"A scheme name defined in a proprietary way.","maxLength":35,"type":"string"},"issuer":{"description":"Issuer of the identification.","maxLength":35,"type":"string"}},"type":"object","required":["identification"]},"currencyCode":{"description":"ISO 4217 Alpha 3 currency code.\n","pattern":"[A-Z]{3}","type":"string"},"cashAccountType":{"description":"ExternalCashAccountType1Code from ISO 20022.\n","type":"string"},"amount":{"properties":{"currency":{"$ref":"#/components/schemas/currencyCode"},"amount":{"$ref":"#/components/schemas/amountValue"}},"type":"object","required":["currency","amount"]},"amountValue":{"description":"The amount given with fractional digits, where fractions must be compliant to the currency definition.\nUp to 14 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot.\n\n**Example:**\nValid representations for EUR with up to two decimals are:\n\n  * 1056\n  * 5768.2\n  * -1.50\n  * 5877.78\n","pattern":"-?[0-9]{1,14}(\\.[0-9]{1,3})?","type":"string"},"bicfi":{"description":"BICFI\n","pattern":"[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}","type":"string"},"creditorAgentName":{"description":"Creditor agent name.","maxLength":140,"type":"string"},"creditorName":{"description":"Creditor name.","maxLength":70,"type":"string"},"address":{"properties":{"streetName":{"maxLength":70,"type":"string"},"buildingNumber":{"type":"string"},"townName":{"type":"string"},"postCode":{"type":"string"},"country":{"$ref":"#/components/schemas/countryCode"}},"type":"object","required":["country"]},"countryCode":{"description":"ISO 3166 ALPHA2 country code.","pattern":"[A-Z]{2}","type":"string"},"remittanceInformationUnstructured":{"description":"Unstructured remittance information.\n","maxLength":140,"type":"string"},"paymentInitiationSct_pain.001":{"description":"A pain.001 structure corresponding to the SCT schema\n\nurn:iso:std:iso:20022:tech:xsd:pain.001.001.03\n","type":"string"},"paymentInitiationSctInst_pain.001":{"description":"A pain.001 structure corresponding to the SCT INST schema.\n","type":"string"},"paymentInitiationTarget2_pain.001":{"description":"A pain.001 structure corresponding to the target-2 schema.\n\nFor TARGET-2 payments only community wide pain.001 schemes do exist.\n","type":"string"},"paymentInitiationCrossBorder_pain.001":{"description":"A pain.001 structure corresponding to the cross-border schema.\n\nFor cross-border payments only community wide pain.001 schemes do exist.\n","type":"string"},"periodicPaymentInitiationMultipartBody":{"description":"The multipart message definition for the initiation of a periodic payment initiation \nwhere the information of the payment is contained in a pain.001 message (Part 1) and \nthe additional information related to the periodic payment is an additional JSON message (Part 2).\n","properties":{"xml_sct":{"oneOf":[{"$ref":"#/components/schemas/paymentInitiationSct_pain.001"},{"$ref":"#/components/schemas/paymentInitiationSctInst_pain.001"},{"$ref":"#/components/schemas/paymentInitiationTarget2_pain.001"},{"$ref":"#/components/schemas/paymentInitiationCrossBorder_pain.001"}]},"json_standingorderType":{"$ref":"#/components/schemas/periodicPaymentInitiation_xml-Part2-standingorderType_json"}},"type":"object"},"periodicPaymentInitiation_xml-Part2-standingorderType_json":{"description":"The body part 2 of a periodic payment initiation request contains the execution related information \nof the periodic payment.\n","properties":{"startDate":{"$ref":"#/components/schemas/startDate"},"endDate":{"$ref":"#/components/schemas/endDate"},"executionRule":{"$ref":"#/components/schemas/executionRule"},"frequency":{"$ref":"#/components/schemas/frequencyCode"},"dayOfExecution":{"$ref":"#/components/schemas/dayOfExecution"},"monthsOfExecution":{"$ref":"#/components/schemas/monthsOfExecution"}},"type":"object","required":["startDate","frequency"]},"startDate":{"description":"The first applicable day of execution starting from this date is the first payment.\n","format":"date","type":"string"},"endDate":{"description":"The last applicable day of execution.\nIf not given, it is an infinite standing order.\n","format":"date","type":"string"},"executionRule":{"description":"\"following\" or \"preceding\" supported as values. \nThis data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday. \nThe payment is then executed either the \"preceding\" or \"following\" working day.\nASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting \nthis execution rule.\n","type":"string","enum":["following","preceding"]},"frequencyCode":{"description":"The following codes from the \"EventFrequency7Code\" of ISO 20022 are supported:\n- \"Daily\"\n- \"Weekly\"\n- \"EveryTwoWeeks\"\n- \"Monthly\"\n- \"EveryTwoMonths\"\n- \"Quarterly\"\n- \"SemiAnnual\"\n- \"Annual\"\n- \"MonthlyVariable\"\n","type":"string","enum":["Daily","Weekly","EveryTwoWeeks","Monthly","EveryTwoMonths","Quarterly","SemiAnnual","Annual","MonthlyVariable"]},"dayOfExecution":{"description":"Day of execution as string.\n\nThis string consists of up two characters.\nLeading zeroes are not allowed.\n\n31 is ultimo of the month.\n","maxLength":2,"type":"string","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"]},"monthsOfExecution":{"description":"The format is following the regular expression \\d{1,2}. \nThe array is restricted to 11 entries. \nThe values contained in the array entries shall all be different and the maximum value of one entry is 12.\nThis attribute is contained if and only if the frequency equals \"MonthlyVariable\".\nExample: An execution on January, April and October each year is addressed by [\"1\", \"4\", \"10\"].\n","maxItems":11,"type":"array","items":{"maxLength":2,"type":"string","enum":["1","2","3","4","5","6","7","8","9","10","11","12"]}},"paymentInitiationRequestResponse-201":{"description":"Body of the response for a successful payment initiation request.","properties":{"transactionStatus":{"$ref":"#/components/schemas/transactionStatus"},"paymentId":{"$ref":"#/components/schemas/paymentId"},"transactionFees":{"$ref":"#/components/schemas/amount"},"currencyConversionFee":{"$ref":"#/components/schemas/amount"},"estimatedTotalAmount":{"$ref":"#/components/schemas/amount"},"estimatedInterbankSettlementAmount":{"$ref":"#/components/schemas/amount"},"transactionFeeIndicator":{"$ref":"#/components/schemas/transactionFeeIndicator"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"_links":{"$ref":"#/components/schemas/_linksPaymentInitiation"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage201PaymentInitiation"}}},"type":"object","required":["transactionStatus","paymentId","_links"]},"transactionStatus":{"description":"The transaction status is filled with codes of the ISO 20022 data table:\n- 'ACCC': 'AcceptedSettlementCompleted' -\n  Settlement on the creditor's account has been completed.\n- 'ACCP': 'AcceptedCustomerProfile' - \n  Preceding check of technical validation was successful. \n  Customer profile check was also successful.\n- 'ACSC': 'AcceptedSettlementCompleted' - \n  Settlement on the debtor�s account has been completed.\n\n  **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. \n\n  **Warning:** this status is provided for transaction status reasons, not for financial information. \n  It can only be used after bilateral agreement.\n- 'ACSP': 'AcceptedSettlementInProcess' - \n  All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n- 'ACTC': 'AcceptedTechnicalValidation' - \n  Authentication and syntactical and semantical validation are successful.\n- 'ACWC': 'AcceptedWithChange' - \n  Instruction is accepted but a change will be made, such as date or remittance not sent.\n- 'ACWP': 'AcceptedWithoutPosting' - \n  Payment instruction included in the credit transfer is accepted without being posted to the creditor customer�s account.\n- 'RCVD': 'Received' - \n  Payment initiation has been received by the receiving agent.\n- 'PDNG': 'Pending' - \n  Payment initiation or individual transaction included in the payment initiation is pending. \n  Further checks and status update will be performed.\n- 'RJCT': 'Rejected' - \n  Payment initiation or individual transaction included in the payment initiation has been rejected.\n- 'CANC': 'Cancelled'\n  Payment initiation has been cancelled before execution\n- 'ACFC': 'AcceptedFundsChecked' -\n  Preceding check of technical validation and customer profile was successful and an automatic funds check was positive .\n- 'PATC': 'PartiallyAcceptedTechnical'\n  Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful.\n- 'PART': 'PartiallyAccepted' -\n  A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status.\n  Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected.\n","type":"string","enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"]},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"transactionFeeIndicator":{"description":"If equals 'true', the transaction will involve specific transaction cost as shown by the ASPSP in\ntheir public price list or as agreed between ASPSP and PSU.\nIf equals 'false', the transaction will not involve additional specific transaction costs to the PSU unless the fee amount is given specifically in the data elements transactionFees and/or currencyConversionFees.\nIf this data element is not used, there is no information about transaction fees unless the fee amount is given explicitly in the data element transactionFees and/or currencyConversionFees.\n","type":"boolean"},"scaMethods":{"description":"This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.\n","type":"array","items":{"$ref":"#/components/schemas/authenticationObject"}},"authenticationObject":{"description":"Authentication object.\n","properties":{"authenticationType":{"$ref":"#/components/schemas/authenticationType"},"authenticationVersion":{"description":"Depending on the \"authenticationType\".\nThis version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.\nThis version can be referred to in the ASPSP?s documentation.\n","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.\nAlternatively this could be a description provided by the ASPSP like \"SMS OTP on phone +49160 xxxxx 28\".\nThis name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.\n","type":"string"},"explanation":{"description":"Detailed information about the SCA method for the PSU.\n","type":"string"}},"type":"object","required":["authenticationType","authenticationMethodId"]},"authenticationType":{"description":"Type of the authentication method.\n\nMore authentication types might be added during implementation projects and documented in the ASPSP documentation.\n\n  - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n  - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. \n    To contact the card, the PSU normally needs a (handheld) device. \n    With this device, the PSU either reads the challenging data through a visual interface like flickering or \n    the PSU types in the challenge through the device key pad. \n    The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n  - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data \n    which can be read in by a consumer device or specific mobile app. \n    The device resp. the specific app than derives an OTP from the visual challenge data and displays \n    the OTP to the PSU.\n  - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU.\n  - 'SMTP_OTP': An OTP is sent via email to the PSU.\n","type":"string","enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP","SMTP_OTP"]},"authenticationMethodId":{"description":"An identification provided by the ASPSP for the later identification of the authentication method selection.\n","maxLength":35,"type":"string"},"chosenScaMethod":{"$ref":"#/components/schemas/authenticationObject"},"challengeData":{"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA.\nIn rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.\n","properties":{"image":{"description":"PNG data (max. 512 kilobyte) to be displayed to the PSU,\nBase64 encoding, cp. [RFC4648].\nThis attribute is used only, when PHOTO_OTP or CHIP_OTP\nis the selected SCA method.\n","type":"string"},"data":{"description":"A collection of strings as challenge data.","type":"array","items":{"type":"string"}},"imageLink":{"description":"A link where the ASPSP will provides the challenge image for the TPP.","format":"url","type":"string"},"otpMaxLength":{"description":"The maximal length for the OTP to be typed in by the PSU.","type":"integer"},"otpFormat":{"description":"The format type of the OTP to be typed in. The admitted values are \"characters\" or \"integer\".","type":"string","enum":["characters","integer"]},"additionalInformation":{"description":"Additional explanation for the PSU to explain\ne.g. fallback mechanism for the chosen SCA method.\nThe TPP is obliged to show this to the PSU.\n","type":"string"}},"type":"object"},"_linksPaymentInitiation":{"description":"A list of hyperlinks to be recognised by the TPP.\nThe actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when\nprocessing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP defined extensions):\n\n* 'scaRedirect': \n  In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser.\n* 'scaOAuth': \n  In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation\n  Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.\n* 'confirmation': \n  Might be added by the ASPSP if either the \"scaRedirect\" or \"scaOAuth\" hyperlink is returned \n  in the same response message. \n  This hyperlink defines the URL to the resource which needs to be updated with \n    * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or\n    * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server. \n* 'startAuthorisation': \n  In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated \n  (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded).\n* 'startAuthorisationWithPsuIdentification': \n  The link to the authorisation end-point, where the authorisation sub-resource has to be generated while \n  uploading the PSU identification data.\n* 'startAuthorisationWithPsuAuthentication': \n  The link to the authorisation end-point, where the authorisation sub-resource has to be generated while \n  uploading the PSU authentication data.\n  * 'startAuthorisationWithEncryptedPsuAuthentication':\n    Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on \n    application layer in uploading.\n* 'startAuthorisationWithAuthenticationMethodSelection': \n  The link to the authorisation end-point, where the authorisation sub-resource has to be generated while \n  selecting the authentication method. \n  This link is contained under exactly the same conditions as the data element \"scaMethods\"\n* 'startAuthorisationWithTransactionAuthorisation':\n  The link to the authorisation end-point, where the authorisation sub-resource has to be generated while \n  authorising the transaction e.g. by uploading an OTP received by SMS.\n* 'self': \n  The link to the payment initiation resource created by this request.\n  This link can be used to retrieve the resource data.\n* 'status': \n  The link to retrieve the transaction status of the payment initiation.\n* 'scaStatus': \n  The link to retrieve the scaStatus of the corresponding authorisation sub-resource. \n  This link is only contained, if an authorisation sub-resource has been already created.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"tppMessage201PaymentInitiation":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode201PaymentInitiation"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"MessageCode201PaymentInitiation":{"description":"Message codes for HTTP Codes 201 to a Payment Initiation Request.","type":"string","enum":["WARNING","BENEFICIARY_WHITELISTING_REQUIRED"]},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"requestBodies":{"paymentInitiation":{"description":"JSON request body for a payment inition request message.\n\nThere are the following payment-products supported:\n  * \"sepa-credit-transfers\" with JSON-Body\n  * \"instant-sepa-credit-transfers\" with JSON-Body\n  * \"target-2-payments\" with JSON-Body\n  * \"cross-border-credit-transfers\" with JSON-Body\n  * \"pain.001-sepa-credit-transfers\" with XML pain.001.001.03 body for SCT scheme\n  * \"pain.001-instant-sepa-credit-transfers\" with XML pain.001.001.03 body for SCT INST scheme\n  * \"pain.001-target-2-payments\" with pain.001 body. \n    Only country specific schemes are currently available\n  * \"pain.001-cross-border-credit-transfers\" with pain.001 body. \n    Only country specific schemes are currently available\n\nThere are the following payment-services supported:\n  * \"payments\"\n  * \"periodic-payments\"\n  * \"bulk-payments\"\n\nAll optional, conditional and predefined but not yet used fields are defined.\n","required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/paymentInitiation_json"}]}},"application/xml":{"schema":{"oneOf":[{"$ref":"#/components/schemas/paymentInitiationSct_pain.001"},{"$ref":"#/components/schemas/paymentInitiationSctInst_pain.001"},{"$ref":"#/components/schemas/paymentInitiationTarget2_pain.001"},{"$ref":"#/components/schemas/paymentInitiationCrossBorder_pain.001"}]}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/periodicPaymentInitiationMultipartBody"}}}}},"responses":{"CREATED_201_PaymentInitiation":{"description":"CREATED","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"Location":{"$ref":"#/components/headers/Location"},"ASPSP-SCA-Approach":{"$ref":"#/components/headers/ASPSP-SCA-Approach"},"ASPSP-Notification-Support":{"$ref":"#/components/headers/ASPSP-Notification-Support"},"ASPSP-Notification-Content":{"$ref":"#/components/headers/ASPSP-Notification-Content"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/paymentInitiationRequestResponse-201"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}},"ASPSP-SCA-Approach":{"description":"This data element must be contained, if the SCA Approach is already fixed.\nPossible values are\n  * EMBEDDED\n  * DECOUPLED\n  * REDIRECT\nThe OAuth SCA approach will be subsumed by REDIRECT.\n","required":false,"schema":{"type":"string","enum":["EMBEDDED","DECOUPLED","REDIRECT"]}},"ASPSP-Notification-Support":{"description":"true if the ASPSP supports resource status notification services.\n\nfalse if the ASPSP supports resource status notification in general, but not for the current request.\n\nNot used, if resource status notification services are generally not supported by the ASPSP.\n\nShall be supported if the ASPSP supports resource status notification services.\n","required":false,"schema":{"type":"boolean"}},"ASPSP-Notification-Content":{"description":"The string has the form\nstatus=X1, …, Xn\nwhere Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated.\nThe usage of the constants supports the following semantics\nSCA - Notification on every change of the scaStatus attribute for all related authorisation processes is provided by the ASPSP for the related resource.\nPROCESS - Notification on all changes of consentStatus or transactionStatus attributes is provided by the ASPSP for the related resource\nLAST - Notification on the last consentStatus or transactionStatus as available in the XS2A interface is provided by the ASPSP for the related resource.\nThis field must be provided if the ASPSP-Notification-Support=true. The ASPSP might consider the notification content as preferred by the TPP, but can also respond independently of the preferred request\n","required":false,"schema":{"type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}":{"post":{"tags":["payments"],"summary":"Payment initiation request","description":"This method is used to initiate a payment at the ASPSP.\n\n## Variants of payment initiation requests\n\nThis 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.\n\nThere are the following **payment products**:\n\n  - Payment products with payment information in *JSON* format:\n    - ***sepa-credit-transfers***\n    - ***instant-sepa-credit-transfers***\n    - ***target-2-payments***\n    - ***cross-border-credit-transfers***\n  - Payment products with payment information in *pain.001* XML format:\n    - ***pain.001-sepa-credit-transfers***\n    - ***pain.001-instant-sepa-credit-transfers***\n    - ***pain.001-target-2-payments***\n    - ***pain.001-cross-border-credit-transfers***\n\nFurthermore the request body depends on the **payment-service**:\n  * ***payments***: A single payment initiation request.\n  * ***bulk-payments***: A collection of several payment initiation requests.\n\n    In case of a *pain.001* message there are more than one payments contained in the *pain.001 message.\n\n    In case of a *JSON* there are several JSON payment blocks contained in a joining list.\n  * ***periodic-payments***: \n    Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} \n     with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body. \n\nThis is the first step in the API to initiate the related recurring/periodic payment.\n\n## Single and multilevel SCA Processes\n\nThe payment initiation requests are independent from the need of one or multilevel \nSCA processing, i.e. independent from the number of authorisations needed for the execution of payments. \n\nBut the response messages are specific to either one SCA processing or multilevel SCA processing. \n\nFor payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation, \ni.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the \nresponse message of a Payment Initiation Request for a payment, where multiple authorisations are needed. \nAlso if any data is needed for the next action, like selecting an SCA method is not supported in the response, \nsince all starts of the multiple authorisations are fully equal. \nIn these cases, first an authorisation sub-resource has to be generated following the 'startAuthorisation' link.\n","operationId":"initiatePayment","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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-Decoupled-Preferred"},{"$ref":"#/components/parameters/TPP-Redirect-URI"},{"$ref":"#/components/parameters/TPP-Nok-Redirect-URI"},{"$ref":"#/components/parameters/TPP-Explicit-Authorisation-Preferred"},{"$ref":"#/components/parameters/TPP-Rejection-NoFunds-Preferred"},{"$ref":"#/components/parameters/TPP-Brand-Logging-Information"},{"$ref":"#/components/parameters/TPP-Notification-URI"},{"$ref":"#/components/parameters/TPP-Notification-Content-Preferred"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"requestBody":{"$ref":"#/components/requestBodies/paymentInitiation"},"responses":{"201":{"$ref":"#/components/responses/CREATED_201_PaymentInitiation"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Callback for the authorisation process of a payment initiation

> This method is used to inform the ASPSP about the result of an authorisation process which was started by the TPP. \
> The ASPSP might use this information to continue the payment initiation process.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"Authorisation-Code":{"description":"Authorisation code.","required":true,"schema":{"type":"string"},"in":"query","name":"code"},"Authorisation-State":{"description":"Authorisation state.","required":true,"schema":{"type":"string"},"in":"query","name":"state"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"RECEIVED_202_CallbackAuthorisation":{"description":"Received","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/authorisations/callback":{"post":{"tags":["payments"],"summary":"Callback for the authorisation process of a payment initiation","description":"This method is used to inform the ASPSP about the result of an authorisation process which was started by the TPP. \nThe ASPSP might use this information to continue the payment initiation process.\n","operationId":"callbackPaymentInitiationAuthorisation","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/Authorisation-Code"},{"$ref":"#/components/parameters/Authorisation-State"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"202":{"$ref":"#/components/responses/RECEIVED_202_CallbackAuthorisation"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"METHOD_NOT_ALLOWED","content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"406":{"description":"NOT_ACCEPTABLE","content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"415":{"description":"UNSUPPORTED_MEDIA_TYPE","content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"TOO_MANY_REQUESTS","content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}}}}}}}
```

## Read the SCA status of the payment authorisation

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

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"authorisationId":{"description":"Resource identification of the related SCA.","required":true,"schema":{"$ref":"#/components/schemas/authorisationId"},"in":"path","name":"authorisationId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"scaStatusResponse":{"description":"Body of the JSON response with SCA Status.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"psuName":{"description":"Name of the PSU. In case of a corporate account, this might be the person acting on behalf of the corporate.\n","maxLength":140,"type":"string"},"trustedBeneficiaryFlag":{"$ref":"#/components/schemas/trustedBeneficiaryFlag"},"_links":{"$ref":"#/components/schemas/_linksAll"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["scaStatus"]},"scaStatus":{"description":"This data element is containing information about the status of the SCA method applied. \n\nThe following codes are defined for this data type.\n\n  * 'received':\n    An authorisation or cancellation-authorisation resource has been created successfully.\n  * 'psuIdentified':\n    The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n  * 'psuAuthenticated':\n    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.\n  * 'scaMethodSelected':\n    The PSU/TPP has selected the related SCA routine. \n    If the SCA method is chosen implicitly since only one SCA method is available, \n    then this is the first status to be reported instead of 'received'.\n  * 'unconfirmed':\n    SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. \n  * 'started':\n    The addressed SCA routine has been started.\n  * 'finalised':\n    The SCA routine has been finalised successfully (including a potential confirmation command). \n    This is a final status of the authorisation resource.\n  * 'failed':\n    The SCA routine failed.\n    This is a final status of the authorisation resource.\n  * 'exempted':\n    SCA was exempted for the related transaction, the related authorisation is successful.\n    This is a final status of the authorisation resource.\n","type":"string","enum":["received","psuIdentified","psuAuthenticated","scaMethodSelected","started","unconfirmed","finalised","failed","exempted"]},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"trustedBeneficiaryFlag":{"description":"Additional Service: Trusted Beneficiaries\nWithin this data element, the ASPSP might optionally communicate towards the TPP whether the creditor was part of the related trusted beneficiary list. \nThis attribute is only contained in case of a final scaStatus.\n","type":"boolean"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"tppMessageGeneric":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/tppMessageCodeGeneric"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"tppMessageCodeGeneric":{"description":"Code of the TPP message category.","type":"string"},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_ScaStatus":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/scaStatusResponse"}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/authorisations/{authorisationId}":{"get":{"tags":["payments"],"summary":"Read the SCA status of the payment authorisation","description":"This method returns the SCA status of a payment initiation's authorisation sub-resource.\n","operationId":"getPaymentInitiationScaStatus","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/authorisationId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"responses":{"200":{"$ref":"#/components/responses/OK_200_ScaStatus"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```

## Update PSU data for payment initiation

> 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:\
> &#x20; A specific update PSU data request is applicable for \
> &#x20;   \* the selection of authentication methods, before choosing the actual SCA approach.\
> \* Decoupled SCA Approach:\
> &#x20; A specific update PSU data request is only applicable for\
> &#x20; \* 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\
> &#x20; \* the selection of authentication methods.\
> \* Embedded SCA Approach: \
> &#x20; The Update PSU Data request might be used \
> &#x20; \* to add credentials as a first factor authentication data of the PSU and\
> &#x20; \* to select the authentication method and\
> &#x20; \* 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:\
> &#x20; \* Update PSU identification\
> &#x20; \* Update PSU authentication\
> &#x20; \* Select PSU authorization method \
> &#x20;   WARNING: This method needs a reduced header, \
> &#x20;   therefore many optional elements are not present. \
> &#x20;   Maybe in a later version the access path will change.\
> &#x20; \* Transaction authorisation\
> &#x20;   WARNING: This method needs a reduced header, \
> &#x20;   therefore many optional elements are not present. \
> &#x20;   Maybe in a later version the access path will change.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"payments","description":"The component for Payment Initiation Service (PIS) offers the following services:\n  * Initiation and update of a payment request\n  * Status information of a payment\n"}],"servers":[{"url":"https://sandbox.api.tieto.com","description":"Tieto Aggregation sandbox"}],"security":[{"OAuth2ClientAuthentication":[]}],"components":{"securitySchemes":{"OAuth2ClientAuthentication":{"type":"openIdConnect","description":"This API uses OAuth 2 with the client credentials flow. [More info](https://www.rfc-editor.org/rfc/rfc6749#section-4.4)","openIdConnectUrl":"/auth/realms/participants/protocol/openid-connect/token"}},"parameters":{"paymentProduct":{"description":"The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).\nThe ASPSP will publish which of the payment products/endpoints will be supported.\n\nThe following payment products are supported:\n  - sepa-credit-transfers\n  - instant-sepa-credit-transfers\n  - target-2-payments\n  - cross-border-credit-transfers\n  - pain.001-sepa-credit-transfers\n  - pain.001-instant-sepa-credit-transfers\n  - pain.001-target-2-payments\n  - pain.001-cross-border-credit-transfers\n\n**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, \nthe XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. \nFurther XML schemes might be supported by some communities.\n\n**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. \nThere are plenty of country specific scheme variants.\n","required":true,"schema":{"type":"string","enum":["sepa-credit-transfers","instant-sepa-credit-transfers","target-2-payments","cross-border-credit-transfers","pain.001-sepa-credit-transfers","pain.001-instant-sepa-credit-transfers","pain.001-target-2-payments","pain.001-cross-border-credit-transfers"]},"in":"path","name":"payment-product"},"paymentId":{"description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"$ref":"#/components/schemas/paymentId"},"in":"path","name":"paymentId"},"authorisationId":{"description":"Resource identification of the related SCA.","required":true,"schema":{"$ref":"#/components/schemas/authorisationId"},"in":"path","name":"authorisationId"},"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"},"in":"header","name":"X-Request-ID"},"Session-ID":{"description":"ID of the session.","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"Session-ID"},"Digest":{"description":"Is contained if and only if the \"Signature\" element is contained in the header of the request.","required":false,"schema":{"type":"string"},"in":"header","name":"Digest"},"Signature":{"description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.\n","required":false,"schema":{"type":"string"},"in":"header","name":"Signature"},"TPP-Signature-Certificate":{"description":"The certificate used for signing the request, in base64 encoding. \nMust be contained if a signature is contained.\n","required":false,"schema":{"format":"byte","type":"string"},"in":"header","name":"TPP-Signature-Certificate"},"PSU-ID":{"description":"Client ID of the PSU in the ASPSP client interface. \n\nMight be mandated in the ASPSP's documentation.\n\nIt might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding\nAIS service in the same session.\nIn this case the ASPSP might check whether PSU-ID and token match, \naccording to ASPSP documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID"},"PSU-ID-Type":{"description":"Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.\n\nIn this case, the mean and use are then defined in the ASPSP’s documentation.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-ID-Type"},"PSU-Corporate-ID":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID"},"PSU-Corporate-ID-Type":{"description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Corporate-ID-Type"},"PSU-IP-Address_optional":{"description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.\n","required":false,"schema":{"format":"ipv4","type":"string"},"in":"header","name":"PSU-IP-Address"},"PSU-IP-Port":{"description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-IP-Port"},"PSU-Accept":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept"},"PSU-Accept-Charset":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Charset"},"PSU-Accept-Encoding":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Encoding"},"PSU-Accept-Language":{"description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-Accept-Language"},"PSU-User-Agent":{"description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.\n","required":false,"schema":{"type":"string"},"in":"header","name":"PSU-User-Agent"},"PSU-Http-Method":{"description":"HTTP method used at the PSU ? TPP interface, if available.\nValid values are:\n* GET\n* POST\n* PUT\n* PATCH\n* DELETE\n","required":false,"schema":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"in":"header","name":"PSU-Http-Method"},"PSU-Device-ID":{"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID needs to be unaltered until removal from device.\n","required":false,"schema":{"format":"uuid","type":"string"},"in":"header","name":"PSU-Device-ID"},"PSU-Geo-Location":{"description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.\n","required":false,"schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"},"in":"header","name":"PSU-Geo-Location"},"apiGroupVersion":{"description":"API Group Version string, consists of the major, minor and patch number. The highest minor and/or patch numbers are selected automatically if the short notation is used. The version is limited by the scopes defined in the Client Application.","required":true,"schema":{"type":"string","enum":["v1","v1.3","v1.3.1"]},"in":"path","name":"apiGroupVersion"},"providerId":{"description":"ID of an API Provider, which the operation shall be handled by.","required":true,"schema":{"description":"ID of an API Provider, which the operation shall be handled by.","type":"string"},"in":"path","name":"provider-id"}},"schemas":{"paymentId":{"description":"Resource identification of the generated payment initiation resource.","type":"string"},"authorisationId":{"description":"Resource identification of the related SCA.","type":"string"},"updatePaymentPsuDataRequest":{"oneOf":[{},{"$ref":"#/components/schemas/updatePsuAuthentication"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethod"},{"$ref":"#/components/schemas/transactionAuthorisation"},{"$ref":"#/components/schemas/authorisationConfirmation"}]},"updatePsuAuthentication":{"description":"Content of the body of a Update PSU authentication request\n\nPassword subfield is used.\n","properties":{"psuData":{"$ref":"#/components/schemas/psuData"}},"type":"object","required":["psuData"]},"psuData":{"description":"PSU Data for Update PSU authentication.","minProperties":1,"properties":{"password":{"description":"Password.","type":"string"},"encryptedPassword":{"description":"Encrypted password.","type":"string"},"additionalPassword":{"description":"Additional password in plaintext.","type":"string"},"additionalEncryptedPassword":{"description":"Additional encrypted password.","type":"string"}},"type":"object"},"selectPsuAuthenticationMethod":{"description":"Content of the body of a Select PSU authentication method request\n","properties":{"authenticationMethodId":{"$ref":"#/components/schemas/authenticationMethodId"}},"type":"object","required":["authenticationMethodId"]},"authenticationMethodId":{"description":"An identification provided by the ASPSP for the later identification of the authentication method selection.\n","maxLength":35,"type":"string"},"transactionAuthorisation":{"description":"Content of the body of a transaction authorisation request\n","properties":{"scaAuthenticationData":{"$ref":"#/components/schemas/scaAuthenticationData"}},"type":"object","required":["scaAuthenticationData"]},"scaAuthenticationData":{"description":"SCA authentication data, depending on the chosen authentication method. \nIf the data is binary, then it is base64 encoded.\n","type":"string"},"authorisationConfirmation":{"description":"Content of the body of an authorisation confirmation request\n","properties":{"confirmationCode":{"description":"Confirmation Code as retrieved by the TPP from the redirect based SCA process.","type":"string"}},"type":"object","required":["confirmationCode"]},"updatePsuIdentificationResponse":{"description":"Body of the JSON response for a successful update PSU identification request.","properties":{"transactionFees":{"$ref":"#/components/schemas/amount"},"currencyConversionFees":{"$ref":"#/components/schemas/amount"},"estimatedTotalAmount":{"$ref":"#/components/schemas/amount"},"estimatedInterbankSettlementAmount":{"$ref":"#/components/schemas/amount"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"_links":{"$ref":"#/components/schemas/_linksUpdatePsuIdentification"},"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["_links","scaStatus"]},"amount":{"properties":{"currency":{"$ref":"#/components/schemas/currencyCode"},"amount":{"$ref":"#/components/schemas/amountValue"}},"type":"object","required":["currency","amount"]},"currencyCode":{"description":"ISO 4217 Alpha 3 currency code.\n","pattern":"[A-Z]{3}","type":"string"},"amountValue":{"description":"The amount given with fractional digits, where fractions must be compliant to the currency definition.\nUp to 14 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot.\n\n**Example:**\nValid representations for EUR with up to two decimals are:\n\n  * 1056\n  * 5768.2\n  * -1.50\n  * 5877.78\n","pattern":"-?[0-9]{1,14}(\\.[0-9]{1,3})?","type":"string"},"scaMethods":{"description":"This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.\n","type":"array","items":{"$ref":"#/components/schemas/authenticationObject"}},"authenticationObject":{"description":"Authentication object.\n","properties":{"authenticationType":{"$ref":"#/components/schemas/authenticationType"},"authenticationVersion":{"description":"Depending on the \"authenticationType\".\nThis version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.\nThis version can be referred to in the ASPSP?s documentation.\n","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.\nAlternatively this could be a description provided by the ASPSP like \"SMS OTP on phone +49160 xxxxx 28\".\nThis name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.\n","type":"string"},"explanation":{"description":"Detailed information about the SCA method for the PSU.\n","type":"string"}},"type":"object","required":["authenticationType","authenticationMethodId"]},"authenticationType":{"description":"Type of the authentication method.\n\nMore authentication types might be added during implementation projects and documented in the ASPSP documentation.\n\n  - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n  - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. \n    To contact the card, the PSU normally needs a (handheld) device. \n    With this device, the PSU either reads the challenging data through a visual interface like flickering or \n    the PSU types in the challenge through the device key pad. \n    The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n  - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data \n    which can be read in by a consumer device or specific mobile app. \n    The device resp. the specific app than derives an OTP from the visual challenge data and displays \n    the OTP to the PSU.\n  - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU.\n  - 'SMTP_OTP': An OTP is sent via email to the PSU.\n","type":"string","enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP","SMTP_OTP"]},"_linksUpdatePsuIdentification":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP \ndefined extensions):\n\n- 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource.\n- 'selectAuthenticationMethod': This is a link to a resource, where the TPP can select the applicable second factor authentication methods for the PSU, if there are several available authentication methods and if the PSU is already sufficiently authenticated.. If this link is contained, then there is also the data element \"scaMethods\" contained in the response body.\n","properties":{"scaStatus":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"hrefType":{"description":"Link to a resource.","properties":{"href":{"$ref":"#/components/schemas/hrefEntry"}},"type":"object"},"hrefEntry":{"description":"Link to a resource.","type":"string"},"scaStatus":{"description":"This data element is containing information about the status of the SCA method applied. \n\nThe following codes are defined for this data type.\n\n  * 'received':\n    An authorisation or cancellation-authorisation resource has been created successfully.\n  * 'psuIdentified':\n    The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n  * 'psuAuthenticated':\n    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.\n  * 'scaMethodSelected':\n    The PSU/TPP has selected the related SCA routine. \n    If the SCA method is chosen implicitly since only one SCA method is available, \n    then this is the first status to be reported instead of 'received'.\n  * 'unconfirmed':\n    SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. \n  * 'started':\n    The addressed SCA routine has been started.\n  * 'finalised':\n    The SCA routine has been finalised successfully (including a potential confirmation command). \n    This is a final status of the authorisation resource.\n  * 'failed':\n    The SCA routine failed.\n    This is a final status of the authorisation resource.\n  * 'exempted':\n    SCA was exempted for the related transaction, the related authorisation is successful.\n    This is a final status of the authorisation resource.\n","type":"string","enum":["received","psuIdentified","psuAuthenticated","scaMethodSelected","started","unconfirmed","finalised","failed","exempted"]},"psuMessageText":{"description":"Text to be displayed to the PSU.","maxLength":500,"type":"string"},"updatePsuAuthenticationResponse":{"description":"Body of the JSON response for a successful update PSU authentication request.","properties":{"transactionFees":{"$ref":"#/components/schemas/amount"},"currencyConversionFees":{"$ref":"#/components/schemas/amount"},"estimatedTotalAmount":{"$ref":"#/components/schemas/amount"},"estimatedInterbankSettlementAmount":{"$ref":"#/components/schemas/amount"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"scaMethods":{"$ref":"#/components/schemas/scaMethods"},"_links":{"$ref":"#/components/schemas/_linksUpdatePsuAuthentication"},"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"authorisationId":{"$ref":"#/components/schemas/authorisationId"}},"type":"object","required":["scaStatus"]},"chosenScaMethod":{"$ref":"#/components/schemas/authenticationObject"},"challengeData":{"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA.\nIn rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.\n","properties":{"image":{"description":"PNG data (max. 512 kilobyte) to be displayed to the PSU,\nBase64 encoding, cp. [RFC4648].\nThis attribute is used only, when PHOTO_OTP or CHIP_OTP\nis the selected SCA method.\n","type":"string"},"data":{"description":"A collection of strings as challenge data.","type":"array","items":{"type":"string"}},"imageLink":{"description":"A link where the ASPSP will provides the challenge image for the TPP.","format":"url","type":"string"},"otpMaxLength":{"description":"The maximal length for the OTP to be typed in by the PSU.","type":"integer"},"otpFormat":{"description":"The format type of the OTP to be typed in. The admitted values are \"characters\" or \"integer\".","type":"string","enum":["characters","integer"]},"additionalInformation":{"description":"Additional explanation for the PSU to explain\ne.g. fallback mechanism for the chosen SCA method.\nThe TPP is obliged to show this to the PSU.\n","type":"string"}},"type":"object"},"_linksUpdatePsuAuthentication":{"description":"A list of hyperlinks to be recognised by the TPP. Might be contained, if several authentication methods \nare available for the PSU.\nType of links admitted in this response:\n  * 'updateAdditionalPsuAuthentication':\n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional PSU password. \n    This link is only contained in rare cases, \n    where such additional passwords are needed for PSU authentications.\n  * 'updateAdditionalEncryptedPsuAuthentication': \n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional encrypted PSU password. \n    This link is only contained in rare cases, where such additional passwords are needed for PSU authentications.\n  * 'selectAuthenticationMethod': \n    This is a link to a resource, where the TPP can select the applicable second factor authentication \n    methods for the PSU, if there were several available authentication methods. \n    This link is only contained, if the PSU is already identified or authenticated with the first relevant \n    factor or alternatively an access token, if SCA is required and if the PSU has a choice between different \n    authentication methods. \n    If this link is contained, then there is also the data element 'scaMethods' contained in the response body.\n  * 'authoriseTransaction': \n    The link to the resource, where the \"Transaction authorisation request\" is sent to. \n    This is the link to the resource which will authorise the transaction by checking the SCA authentication \n    data within the Embedded SCA approach.\n  * 'scaStatus': \n    The link to retrieve the scaStatus of the corresponding authorisation sub-resource.\n","properties":{"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"selectPsuAuthenticationMethodResponse":{"description":"Body of the JSON response for a successful select PSU authentication method request.","properties":{"transactionFees":{"$ref":"#/components/schemas/amount"},"currencyConversionFees":{"$ref":"#/components/schemas/amount"},"estimatedTotalAmount":{"$ref":"#/components/schemas/amount"},"estimatedInterbankSettlementAmount":{"$ref":"#/components/schemas/amount"},"chosenScaMethod":{"$ref":"#/components/schemas/chosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/challengeData"},"_links":{"$ref":"#/components/schemas/_linksSelectPsuAuthenticationMethod"},"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["scaStatus"]},"_linksSelectPsuAuthenticationMethod":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in \nthe response depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP. \n\n**Remark:** This method can be applied before or after PSU identification. \nThis leads to many possible hyperlink responses.\nType of links admitted in this response, (further links might be added for ASPSP defined \nextensions):\n\n- 'scaRedirect': \n  In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to \n  redirect the PSU browser.\n- 'scaOAuth': \n  In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the \n  configuration of the Authorisation Server can be retrieved. \n  The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.\n* 'confirmation': \n  Might be added by the ASPSP if either the \"scaRedirect\" or \"scaOAuth\" hyperlink is returned \n  in the same response message. \n  This hyperlink defines the URL to the resource which needs to be updated with \n    * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or\n    * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.\n- 'updatePsuIdentification': \n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU identification data needs to be uploaded.\n- 'updatePsuAuthentication':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU authentication data needs to be uploaded.\n  - 'updateEncryptedPsuAuthentication':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where PSU authentication encrypted data needs to be uploaded.\n- 'updateAdditionalPsuAuthentication':\n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional PSU password. \n- 'updateAdditionalEncryptedPsuAuthentication': \n    The link to the payment initiation or account information resource, \n    which needs to be updated by an additional encrypted PSU password. \n- 'authoriseTransaction':\n  The link to the authorisation or cancellation authorisation sub-resource, \n  where the authorisation data has to be uploaded, e.g. the TOP received by SMS. \n- 'scaStatus': \n  The link to retrieve the scaStatus of the corresponding authorisation sub-resource.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"scaStatusResponse":{"description":"Body of the JSON response with SCA Status.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatus"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"},"psuName":{"description":"Name of the PSU. In case of a corporate account, this might be the person acting on behalf of the corporate.\n","maxLength":140,"type":"string"},"trustedBeneficiaryFlag":{"$ref":"#/components/schemas/trustedBeneficiaryFlag"},"_links":{"$ref":"#/components/schemas/_linksAll"},"tppMessage":{"description":"Messages to the TPP on operational issues.","type":"array","items":{"$ref":"#/components/schemas/tppMessageGeneric"}}},"type":"object","required":["scaStatus"]},"trustedBeneficiaryFlag":{"description":"Additional Service: Trusted Beneficiaries\nWithin this data element, the ASPSP might optionally communicate towards the TPP whether the creditor was part of the related trusted beneficiary list. \nThis attribute is only contained in case of a final scaStatus.\n","type":"boolean"},"_linksAll":{"description":"A _link object with all available link types.\n","properties":{"scaRedirect":{"$ref":"#/components/schemas/hrefType"},"scaOAuth":{"$ref":"#/components/schemas/hrefType"},"confirmation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisation":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuIdentification":{"$ref":"#/components/schemas/hrefType"},"updatePsuIdentification":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithProprietaryData":{"$ref":"#/components/schemas/hrefType"},"updateProprietaryData":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updatePsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"updateAdditionalEncryptedPsuAuthentication":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithAuthenticationMethodSelection":{"$ref":"#/components/schemas/hrefType"},"selectAuthenticationMethod":{"$ref":"#/components/schemas/hrefType"},"startAuthorisationWithTransactionAuthorisation":{"$ref":"#/components/schemas/hrefType"},"authoriseTransaction":{"$ref":"#/components/schemas/hrefType"},"self":{"$ref":"#/components/schemas/hrefType"},"status":{"$ref":"#/components/schemas/hrefType"},"scaStatus":{"$ref":"#/components/schemas/hrefType"},"account":{"$ref":"#/components/schemas/hrefType"},"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$ref":"#/components/schemas/hrefType"},"transactionDetails":{"$ref":"#/components/schemas/hrefType"},"cardAccount":{"$ref":"#/components/schemas/hrefType"},"cardTransactions":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"},"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"tppMessageGeneric":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/tppMessageCodeGeneric"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"tppMessageCategory":{"description":"Category of the TPP message category.","type":"string","enum":["ERROR","WARNING"]},"tppMessageCodeGeneric":{"description":"Code of the TPP message category.","type":"string"},"tppMessageText":{"description":"Additional explaining text to the TPP.","maxLength":500,"type":"string"},"authorisationConfirmationResponse":{"description":"Body of the JSON response for an authorisation confirmation request.","properties":{"scaStatus":{"$ref":"#/components/schemas/scaStatusAuthorisationConfirmation"},"_links":{"$ref":"#/components/schemas/_linksAuthorisationConfirmation"},"psuMessage":{"$ref":"#/components/schemas/psuMessageText"}},"type":"object","required":["scaStatus","_links"]},"scaStatusAuthorisationConfirmation":{"description":"This data element is containing information about the status of the SCA method in an authorisation confirmation response. \n\nThe following codes are defined for this data type.\n\n  * 'finalised': if the transaction authorisation and confirmation was successful.\n  * 'failed': if the transaction authorisation or confirmation was not successful.\n","type":"string","enum":["finalised","failed"]},"_linksAuthorisationConfirmation":{"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request.\n\n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n\nType of links admitted in this response, (further links might be added for ASPSP \ndefined extensions):\n\n- 'scaStatus': The link to retrieve the status of the corresponding transaction resource.\n","properties":{"scaStatus":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"Error400_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage400_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode400_PIS":{"description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID"]},"Error400_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode400_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"tppErrorTitle":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"tppErrorDetail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"Error401_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage401_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_PIS":{"description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).","type":"string","enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","KID_MISSING"]},"Error401_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode401_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage403_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_PIS":{"description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID"]},"Error403_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode403_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage404_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_PIS":{"description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"]},"Error404_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode404_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage405_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_PIS":{"description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode405_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_PIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage409_PIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_PIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_PIS":{"description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_PIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for PIS.\n","properties":{"type":{"description":"A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n","format":"uri","maxLength":70,"type":"string"},"title":{"description":"Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.\n","maxLength":70,"type":"string"},"detail":{"description":"Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.\n","maxLength":500,"type":"string"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"},"additionalErrors":{"description":"Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated\n","type":"array","items":{"description":"This is a data element to support the declaration of additional errors in the context of [RFC7807].","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode409_PIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_UpdatePsuData":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"},"ASPSP-SCA-Approach":{"$ref":"#/components/headers/ASPSP-SCA-Approach"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/updatePsuIdentificationResponse"},{"$ref":"#/components/schemas/updatePsuAuthenticationResponse"},{"$ref":"#/components/schemas/selectPsuAuthenticationMethodResponse"},{"$ref":"#/components/schemas/scaStatusResponse"},{"$ref":"#/components/schemas/authorisationConfirmationResponse"}]}}}},"REQUEST_TIMEOUT_408_PIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_PIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_PIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_PIS"}}}},"INTERNAL_SERVER_ERROR_500_PIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_PIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"headers":{"X-Request-ID":{"description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"format":"uuid","type":"string"}},"ASPSP-SCA-Approach":{"description":"This data element must be contained, if the SCA Approach is already fixed.\nPossible values are\n  * EMBEDDED\n  * DECOUPLED\n  * REDIRECT\nThe OAuth SCA approach will be subsumed by REDIRECT.\n","required":false,"schema":{"type":"string","enum":["EMBEDDED","DECOUPLED","REDIRECT"]}},"Location":{"description":"Location of the created resource.\n","required":false,"schema":{"format":"url","type":"string"}}}},"paths":{"/providers/{provider-id}/aggregated-xs2a/{apiGroupVersion}/payments/{payment-product}/{paymentId}/authorisations/{authorisationId}":{"put":{"tags":["payments"],"summary":"Update PSU data for payment initiation","description":"This methods updates PSU data on the authorisation resource if needed. \nIt may authorise a payment within the Embedded SCA Approach where needed.\n\nIndependently from the SCA Approach it supports e.g. the selection of \nthe authentication method and a non-SCA PSU authentication.\n\nThere are several possible update PSU data requests in the context of payment initiation services needed, \nwhich depends on the SCA approach:\n\n* Redirect SCA Approach:\n  A specific update PSU data request is applicable for \n    * the selection of authentication methods, before choosing the actual SCA approach.\n* Decoupled SCA Approach:\n  A specific update PSU data request is only applicable for\n  * 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\n  * the selection of authentication methods.\n* Embedded SCA Approach: \n  The Update PSU Data request might be used \n  * to add credentials as a first factor authentication data of the PSU and\n  * to select the authentication method and\n  * transaction authorisation.\n\nThe SCA Approach might depend on the chosen SCA method. \nFor that reason, the following possible Update PSU data request can apply to all SCA approaches:\n\n* Select an SCA method in case of several SCA methods are available for the customer.\n\nThere are the following request types on this access path:\n  * Update PSU identification\n  * Update PSU authentication\n  * Select PSU authorization method \n    WARNING: This method needs a reduced header, \n    therefore many optional elements are not present. \n    Maybe in a later version the access path will change.\n  * Transaction authorisation\n    WARNING: This method needs a reduced header, \n    therefore many optional elements are not present. \n    Maybe in a later version the access path will change.\n","operationId":"updatePaymentPsuData","parameters":[{"$ref":"#/components/parameters/paymentProduct"},{"$ref":"#/components/parameters/paymentId"},{"$ref":"#/components/parameters/authorisationId"},{"$ref":"#/components/parameters/X-Request-ID"},{"$ref":"#/components/parameters/Session-ID"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Signature"},{"$ref":"#/components/parameters/TPP-Signature-Certificate"},{"$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/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"},{"$ref":"#/components/parameters/apiGroupVersion"},{"$ref":"#/components/parameters/providerId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updatePaymentPsuDataRequest"}}}},"responses":{"200":{"$ref":"#/components/responses/OK_200_UpdatePsuData"},"400":{"description":"Bad Request","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error400_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED"]},"text":{"type":"string"},"invalidParams":{"type":"array","items":{"properties":{"field":{"type":"string"},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error400_PIS"}}}},"401":{"description":"Unauthorized","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error401_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["TOKEN_INVALID","TOKEN_EXPIRED","TOKEN_UNKNOWN","AUTHENTICATION_MISSING","CERTIFICATE_INVALID","CERTIFICATE_REVOKED","CERTIFICATE_EXPIRED","SIGNATURE_MISSING","SIGNATURE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error401_PIS"}}}},"403":{"description":"Forbidden","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error403_PIS"}}}},"404":{"description":"Not found","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error404_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["RESOURCE_UNKNOWN"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error404_PIS"}}}},"405":{"description":"Method Not Allowed","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error405_NG_PIS"},{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error405_PIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_PIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_PIS"},"415":{"description":"Unsupported Media Type","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["SERVICE_INVALID"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"429":{"description":"Too Many Requests","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"apiClientMessages":{"type":"array","items":{"properties":{"category":{"type":"string","enum":["ERROR"]},"code":{"type":"string","enum":["OPERATION_NOT_ALLOWED"]},"text":{"type":"string"}},"type":"object"}}},"type":"object"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_PIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_PIS"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.api.tieto.com/api-references/tieto-saas-aggregation/aggregated-xs2a/payments.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
