> 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/accounts.md).

# Accounts

The Account Information Service (AIS) offers the following services:

* Transaction reports for a given account including balances if applicable
* Balances of a given account
* A list of available accounts
* Account details of a given account or of the list of all accessible accounts or card account relative to a granted consent

## Read balance

> Reads account data from a given account addressed by "account-id". \
> \
> \*\*Remark:\*\* This account-id can be a tokenised identification due to data protection reason since the path \
> information might be logged on intermediary servers within the ASPSP sphere. \
> This account-id then can be retrieved by the "Get account list" call.\
> \
> The account-id is constant at least throughout the lifecycle of a given consent.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given account including balances if applicable\n  * Balances of a given account\n  * A list of available accounts\n  * Account details of a given account or of the list of all accessible accounts or card account  relative to a granted consent\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":{"accountId":{"description":"This identification is denoting the addressed (card) account. \nThe account-id is retrieved by using a \"Read Account List\" or \"Read Card Account list\" call. \nThe account-id is the \"resourceId\" attribute of the account structure. \nIts value is constant at least throughout the lifecycle of a given consent.\n","required":true,"schema":{"$ref":"#/components/schemas/accountId"},"in":"path","name":"account-id"},"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"},"consentId_HEADER_mandatory":{"description":"This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.\n","required":true,"schema":{"$ref":"#/components/schemas/consentId"},"in":"header","name":"Consent-ID"},"PSU-IP-Address_conditionalForAis":{"description":"The forwarded IP Address header field consists of the corresponding HTTP request \nIP Address field between PSU and TPP. \nIt shall be contained if and only if this request was actively initiated by the PSU.\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":{"accountId":{"description":"This identification is denoting the addressed account, where the transaction has been performed.","type":"string"},"consentId":{"description":"ID of the corresponding consent object as returned by an account information consent request.\n","type":"string"},"readAccountBalanceResponse-200":{"description":"Body of the response for a successful read balance for an account request.","properties":{"account":{"$ref":"#/components/schemas/accountReference"},"balances":{"$ref":"#/components/schemas/balanceList"}},"type":"object","required":["balances"]},"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"},"balanceList":{"description":"A list of balances regarding this account, e.g. the current balance, the last booked balance.\nThe list might be restricted to the current balance.\n","type":"array","items":{"$ref":"#/components/schemas/balance"}},"balance":{"description":"A single balance element.\n","properties":{"balanceAmount":{"$ref":"#/components/schemas/amount"},"balanceType":{"$ref":"#/components/schemas/balanceType"},"creditLimitIncluded":{"description":"A flag indicating if the credit limit of the corresponding account \nis included in the calculation of the balance, where applicable.\n","type":"boolean"},"lastChangeDateTime":{"description":"This data element might be used to indicate e.g. with the expected or booked balance that no action is known \non the account, which is not yet booked.\n","format":"date-time","type":"string"},"referenceDate":{"description":"Indicates the date of the balance.","format":"date","type":"string"},"lastCommittedTransaction":{"description":"\"entryReference\" of the last committed transaction to support the TPP in identifying whether all \nPSU transactions are already known.\n","maxLength":35,"type":"string"}},"type":"object","required":["balanceAmount","balanceType"]},"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"},"balanceType":{"description":"The following balance types are defined:\n  - \"closingBooked\": \n    Balance of the account at the end of the pre-agreed account reporting period. \n    It is the sum of the opening booked balance at the beginning of the period and all entries booked \n    to the account during the pre-agreed account reporting period.\n\n    For card-accounts, this is composed of\n\n      - invoiced, but not yet paid entries\n\n  - \"expected\":\n    Balance composed of booked entries and pending items known at the time of calculation, \n    which projects the end of day balance if everything is booked on the account and no other entry is posted.\n\n    For card accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries and\n      - pending items (not yet booked)\n\n    For card-accounts:\n\n    \"money to spend with the value of a pre-approved credit limit on the card account\"\n\n  - \"openingBooked\":\n    Book balance of the account at the beginning of the account reporting period. \n    It always equals the closing book balance from the previous report.\n  - \"interimAvailable\":\n    Available balance calculated in the course of the account ?servicer?s business day, \n    at the time specified, and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation \n    time/period specified.\n\n    For card-accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries\n  - \"interimBooked\":\n    Balance calculated in the course of the account servicer's business day, at the time specified, \n    and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period \n    specified.\n  - \"forwardAvailable\":\n    Forward available balance of money that is at the disposal of the account owner on the date specified.\n  - \"nonInvoiced\": \n    Only for card accounts, to be checked yet.\n","type":"string","enum":["closingBooked","expected","openingBooked","interimAvailable","interimBooked","forwardAvailable","nonInvoiced"]},"Error400_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_AIS"},"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_AIS":{"description":"Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","SESSIONS_NOT_SUPPORTED"]},"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_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for AIS.\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_AIS"},"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_AIS"}},"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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_AIS":{"description":"Message codes defined for AIS 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"]},"Error401_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_AIS":{"description":"Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED"]},"Error403_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_AIS":{"description":"Message codes defined for AIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN"]},"Error404_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_AIS":{"description":"Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error406_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage406_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage406_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode406_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode406_AIS":{"description":"Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).","type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"Error406_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 406 for AIS.\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/MessageCode406_AIS"},"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/MessageCode406_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_AIS":{"description":"Message codes defined for AIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error429_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage429_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage429_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode429_AIS":{"description":"Message codes for HTTP Error code 429 (TOO MANY REQUESTS).","type":"string","enum":["ACCESS_EXCEEDED"]},"Error429_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 429 for AIS.\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/MessageCode429_AIS"},"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] \nin case of a HTTP error code 429 for.\n","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_Balances":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/readAccountBalanceResponse-200"}}}},"REQUEST_TIMEOUT_408_AIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_AIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_AIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_AIS"}}}},"INTERNAL_SERVER_ERROR_500_AIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_AIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"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}/accounts/{account-id}/balances":{"get":{"tags":["accounts"],"summary":"Read balance","description":"Reads account data from a given account addressed by \"account-id\". \n\n**Remark:** This account-id can be a tokenised identification due to data protection reason since the path \ninformation might be logged on intermediary servers within the ASPSP sphere. \nThis account-id then can be retrieved by the \"Get account list\" call.\n\nThe account-id is constant at least throughout the lifecycle of a given consent.\n","operationId":"getBalances","parameters":[{"$ref":"#/components/parameters/accountId"},{"$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/consentId_HEADER_mandatory"},{"$ref":"#/components/parameters/PSU-IP-Address_conditionalForAis"},{"$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_Balances"},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error406_NG_AIS"},{"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"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error406_AIS"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_AIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_AIS"},"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":{"oneOf":[{"$ref":"#/components/schemas/Error429_NG_AIS"},{"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/Error429_AIS"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_AIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_AIS"}}}}}}
```

## Read transaction details

> Reads transaction details from a given transaction addressed by "transactionId" on a given account addressed by "account-id". \
> This call is only available on transactions as reported in a JSON format.\
> \
> \*\*Remark:\*\* Please note that the PATH might be already given in detail by the corresponding entry of the response of the \
> "Read Transaction List" call within the \_links subfield.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given account including balances if applicable\n  * Balances of a given account\n  * A list of available accounts\n  * Account details of a given account or of the list of all accessible accounts or card account  relative to a granted consent\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":{"accountId":{"description":"This identification is denoting the addressed (card) account. \nThe account-id is retrieved by using a \"Read Account List\" or \"Read Card Account list\" call. \nThe account-id is the \"resourceId\" attribute of the account structure. \nIts value is constant at least throughout the lifecycle of a given consent.\n","required":true,"schema":{"$ref":"#/components/schemas/accountId"},"in":"path","name":"account-id"},"transactionId":{"description":"This identification is given by the attribute transactionId of the corresponding entry of a transaction list.\n","required":true,"schema":{"$ref":"#/components/schemas/transactionId"},"in":"path","name":"transactionId"},"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"},"consentId_HEADER_mandatory":{"description":"This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.\n","required":true,"schema":{"$ref":"#/components/schemas/consentId"},"in":"header","name":"Consent-ID"},"PSU-IP-Address_conditionalForAis":{"description":"The forwarded IP Address header field consists of the corresponding HTTP request \nIP Address field between PSU and TPP. \nIt shall be contained if and only if this request was actively initiated by the PSU.\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":{"accountId":{"description":"This identification is denoting the addressed account, where the transaction has been performed.","type":"string"},"transactionId":{"description":"This identification is given by the attribute transactionId of the corresponding entry of a transaction list.\n","type":"string"},"consentId":{"description":"ID of the corresponding consent object as returned by an account information consent request.\n","type":"string"},"transactionDetailsBody":{"description":"Transaction details.","properties":{"transactionDetails":{"$ref":"#/components/schemas/transactions"}},"type":"object","required":["transactionDetails"]},"transactions":{"description":"Transaction details.","properties":{"transactionId":{"$ref":"#/components/schemas/transactionId"},"entryReference":{"$ref":"#/components/schemas/entryReference"},"endToEndId":{"description":"Unique end to end identity.","maxLength":35,"type":"string"},"batchIndicator":{"description":"If this indicator equals true, then the related entry is a batch entry.\n","type":"boolean"},"batchNumberOfTransactions":{"description":"Shall be used if and only if the batchIndicator is contained and equals true.\n","type":"integer"},"mandateId":{"description":"Identification of Mandates, e.g. a SEPA Mandate ID.","maxLength":35,"type":"string"},"checkId":{"description":"Identification of a Cheque.","maxLength":35,"type":"string"},"creditorId":{"$ref":"#/components/schemas/creditorId"},"bookingDate":{"$ref":"#/components/schemas/bookingDate"},"valueDate":{"description":"The Date at which assets become available to the account owner in case of a credit, or cease to be available to the account owner in case of a debit entry. **Usage:** If entry status is pending and value date is present, then the value date refers to an expected/requested value date.","format":"date","type":"string"},"transactionAmount":{"$ref":"#/components/schemas/amount"},"currencyExchange":{"$ref":"#/components/schemas/reportExchangeRateList"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateCreditor":{"$ref":"#/components/schemas/ultimateCreditor"},"debtorName":{"$ref":"#/components/schemas/debtorName"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"debtorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateDebtor":{"$ref":"#/components/schemas/ultimateDebtor"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"},"remittanceInformationUnstructuredArray":{"$ref":"#/components/schemas/remittanceInformationUnstructuredArray"},"remittanceInformationStructured":{"$ref":"#/components/schemas/remittanceInformationStructuredMax140"},"remittanceInformationStructuredArray":{"$ref":"#/components/schemas/remittanceInformationStructuredArray"},"entryDetails":{"$ref":"#/components/schemas/entryDetails"},"additionalInformation":{"$ref":"#/components/schemas/additionalInformation"},"additionalInformationStructured":{"$ref":"#/components/schemas/additionalInformationStructured"},"purposeCode":{"$ref":"#/components/schemas/purposeCode"},"bankTransactionCode":{"$ref":"#/components/schemas/bankTransactionCode"},"proprietaryBankTransactionCode":{"$ref":"#/components/schemas/proprietaryBankTransactionCode"},"balanceAfterTransaction":{"$ref":"#/components/schemas/balance"},"_links":{"$ref":"#/components/schemas/_linksTransactionDetails"}},"type":"object","required":["transactionAmount"]},"entryReference":{"description":"Is the identification of the transaction as used e.g. for reference for deltafunction on application level.\nThe same identification as for example used within camt.05x messages.\n","maxLength":35,"type":"string"},"creditorId":{"description":"Identification of Creditors, e.g. a SEPA Creditor ID.","maxLength":35,"type":"string"},"bookingDate":{"description":"The date when an entry is posted to an account on the ASPSPs books.\n","format":"date","type":"string"},"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"},"reportExchangeRateList":{"description":"Array of exchange rates.","type":"array","items":{"$ref":"#/components/schemas/reportExchangeRate"}},"reportExchangeRate":{"description":"Exchange Rate.","properties":{"sourceCurrency":{"$ref":"#/components/schemas/currencyCode"},"exchangeRate":{"type":"string"},"unitCurrency":{"$ref":"#/components/schemas/currencyCode"},"targetCurrency":{"$ref":"#/components/schemas/currencyCode"},"quotationDate":{"format":"date","type":"string"},"contractIdentification":{"maxLength":35,"type":"string"}},"type":"object","required":["sourceCurrency","exchangeRate","unitCurrency","targetCurrency","quotationDate"]},"creditorName":{"description":"Creditor name.","maxLength":70,"type":"string"},"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"]},"cashAccountType":{"description":"ExternalCashAccountType1Code from ISO 20022.\n","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"},"ultimateCreditor":{"description":"Ultimate creditor.","maxLength":70,"type":"string"},"debtorName":{"description":"Debtor name.","maxLength":70,"type":"string"},"ultimateDebtor":{"description":"Ultimate debtor.","maxLength":70,"type":"string"},"remittanceInformationUnstructured":{"description":"Unstructured remittance information.\n","maxLength":140,"type":"string"},"remittanceInformationUnstructuredArray":{"description":"Array of unstructured remittance information.\n","type":"array","items":{"$ref":"#/components/schemas/remittanceInformationUnstructured"}},"remittanceInformationStructuredMax140":{"description":"Structured remittance information Max\n","maxLength":140,"type":"string"},"remittanceInformationStructuredArray":{"description":"Array of structured remittance information.\n","type":"array","items":{"$ref":"#/components/schemas/remittanceInformationStructured"}},"remittanceInformationStructured":{"description":"Structured remittance information.\n","properties":{"reference":{"maxLength":35,"type":"string"},"referenceType":{"maxLength":35,"type":"string"},"referenceIssuer":{"maxLength":35,"type":"string"}},"type":"object","required":["reference"]},"entryDetails":{"description":"Might be used by the ASPSP to transport details about transactions within a batch.\n","type":"array","items":{"$ref":"#/components/schemas/EntryDetailsElement"}},"EntryDetailsElement":{"properties":{"endToEndId":{"description":"Unique end to end identity.","maxLength":35,"type":"string"},"mandateId":{"description":"Identification of Mandates, e.g. a SEPA Mandate ID.","maxLength":35,"type":"string"},"checkId":{"description":"Identification of a Cheque.","maxLength":35,"type":"string"},"creditorId":{"$ref":"#/components/schemas/creditorId"},"transactionAmount":{"$ref":"#/components/schemas/amount"},"currencyExchange":{"$ref":"#/components/schemas/reportExchangeRateList"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateCreditor":{"$ref":"#/components/schemas/ultimateCreditor"},"debtorName":{"$ref":"#/components/schemas/debtorName"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"debtorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateDebtor":{"$ref":"#/components/schemas/ultimateDebtor"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"},"remittanceInformationUnstructuredArray":{"$ref":"#/components/schemas/remittanceInformationUnstructuredArray"},"remittanceInformationStructured":{"$ref":"#/components/schemas/remittanceInformationStructured"},"remittanceInformationStructuredArray":{"$ref":"#/components/schemas/remittanceInformationStructuredArray"},"purposeCode":{"$ref":"#/components/schemas/purposeCode"}},"type":"object","required":["transactionAmount"]},"purposeCode":{"description":"ExternalPurpose1Code from ISO 20022.\n\nValues from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018.\n","type":"string","enum":["BKDF","BKFE","BKFM","BKIP","BKPP","CBLK","CDCB","CDCD","CDCS","CDDP","CDOC","CDQC","ETUP","FCOL","MTUP","ACCT","CASH","COLL","CSDB","DEPT","INTC","LIMA","NETT","BFWD","CCIR","CCPC","CCPM","CCSM","CRDS","CRPR","CRSP","CRTL","EQPT","EQUS","EXPT","EXTD","FIXI","FWBC","FWCC","FWSB","FWSC","MARG","MBSB","MBSC","MGCC","MGSC","OCCC","OPBC","OPCC","OPSB","OPSC","OPTN","OTCD","REPO","RPBC","RPCC","RPSB","RPSC","RVPO","SBSC","SCIE","SCIR","SCRP","SHBC","SHCC","SHSL","SLEB","SLOA","SWBC","SWCC","SWPT","SWSB","SWSC","TBAS","TBBC","TBCC","TRCP","AGRT","AREN","BEXP","BOCE","COMC","CPYR","GDDS","GDSV","GSCB","LICF","MP2B","POPE","ROYA","SCVE","SERV","SUBS","SUPP","TRAD","CHAR","COMT","MP2P","ECPG","ECPR","ECPU","EPAY","CLPR","COMP","DBTC","GOVI","HLRP","HLST","INPC","INPR","INSC","INSU","INTE","LBRI","LIFI","LOAN","LOAR","PENO","PPTI","RELG","RINP","TRFD","FORW","FXNT","ADMG","ADVA","BCDM","BCFG","BLDM","BNET","CBFF","CBFR","CCRD","CDBL","CFEE","CGDD","CORT","COST","CPKC","DCRD","DSMT","DVPM","EDUC","FACT","FAND","FCPM","FEES","GOVT","ICCP","IDCP","IHRP","INSM","IVPT","MCDM","MCFG","MSVC","NOWS","OCDM","OCFG","OFEE","OTHR","PADD","PTSP","RCKE","RCPT","REBT","REFU","RENT","REOD","RIMB","RPNT","RRBN","RVPM","SLPI","SPLT","STDY","TBAN","TBIL","TCSC","TELI","TMPG","TPRI","TPRP","TRNC","TRVC","WEBI","ANNI","CAFI","CFDI","CMDT","DERI","DIVD","FREX","HEDG","INVS","PRME","SAVG","SECU","SEPI","TREA","UNIT","FNET","FUTR","ANTS","CVCF","DMEQ","DNTS","HLTC","HLTI","HSPC","ICRF","LTCF","MAFC","MARF","MDCS","VIEW","CDEP","SWFP","SWPP","SWRS","SWUF","ADCS","AEMP","ALLW","ALMY","BBSC","BECH","BENE","BONU","CCHD","COMM","CSLP","GFRP","GVEA","GVEB","GVEC","GVED","GWLT","HREC","PAYR","PEFC","PENS","PRCP","RHBS","SALA","SSBE","LBIN","LCOL","LFEE","LMEQ","LMFI","LMRK","LREB","LREV","LSFL","ESTX","FWLV","GSTX","HSTX","INTX","NITX","PTXP","RDTX","TAXS","VATX","WHLD","TAXR","B112","BR12","TLRF","TLRR","AIRB","BUSB","FERB","RLWY","TRPT","CBTV","ELEC","ENRG","GASB","NWCH","NWCM","OTLC","PHON","UBIL","WTER"]},"additionalInformation":{"description":"Might be used by the ASPSP to transport additional transaction related information to the PSU\n","maxLength":500,"type":"string"},"additionalInformationStructured":{"description":"Is used if and only if the bookingStatus entry equals \"information\". \nEvery active standing order related to the dedicated payment account result into one entry.\n","properties":{"standingOrderDetails":{"$ref":"#/components/schemas/standingOrderDetails"}},"type":"object","required":["standingOrderDetails"]},"standingOrderDetails":{"description":"Details of underlying standing orders.\n","properties":{"startDate":{"$ref":"#/components/schemas/startDate"},"frequency":{"$ref":"#/components/schemas/frequencyCode"},"endDate":{"$ref":"#/components/schemas/endDate"},"executionRule":{"$ref":"#/components/schemas/executionRule"},"withinAMonthFlag":{"description":"This element is only used in case of frequency equals \"Monthly\".\n\nIf this element equals false it has no effect.\nIf this element equals true, then the execution rule is overruled if the day of execution would fall into a different month using the execution rule.\n\nExample: executionRule equals \"preceding\", dayOfExecution equals \"02\" and the second of a month is a Sunday. \nIn this case, the transaction date would be on the last day of the month before.\n This would be overruled if withinAMonthFlag equals true and the payment is processed on Monday the third of the Month.\nRemark: This attribute is rarely supported in the market.\n","type":"boolean"},"monthsOfExecution":{"$ref":"#/components/schemas/monthsOfExecution"},"multiplicator":{"description":"This is multiplying the given frequency resulting the exact frequency,\ne.g. Frequency=weekly and multiplicator=3 means every 3 weeks.\nRemark: This attribute is rarely supported in the market.\n","type":"integer"},"dayOfExecution":{"$ref":"#/components/schemas/dayOfExecution"},"limitAmount":{"$ref":"#/components/schemas/amount"}},"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"},"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"]},"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"]},"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"]}},"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"]},"bankTransactionCode":{"description":"Bank transaction code as used by the ASPSP and using the sub elements of this structured code defined by ISO 20022. \n\nThis code type is concatenating the three ISO20022 Codes \n  * Domain Code, \n  * Family Code, and \n  * SubFamily Code \nby hyphens, resulting in 'DomainCode'-'FamilyCode'-'SubFamilyCode'.\nFor standing order reports the following codes are applicable:\n  * \"PMNT-ICDT-STDO\" for credit transfers,\n  * \"PMNT-IRCT-STDO\"  for instant credit transfers\n  * \"PMNT-ICDT-XBST\" for cross-border credit transfers\n  * \"PMNT-IRCT-XBST\" for cross-border real time credit transfers and\n  * \"PMNT-MCOP-OTHR\" for specific standing orders which have a dynamical amount to move left funds e.g. on month end to a saving account\n","type":"string"},"proprietaryBankTransactionCode":{"description":"Proprietary bank transaction code as used within a community or within an ASPSP e.g. \nfor MT94x based transaction reports.\n","maxLength":35,"type":"string"},"balance":{"description":"A single balance element.\n","properties":{"balanceAmount":{"$ref":"#/components/schemas/amount"},"balanceType":{"$ref":"#/components/schemas/balanceType"},"creditLimitIncluded":{"description":"A flag indicating if the credit limit of the corresponding account \nis included in the calculation of the balance, where applicable.\n","type":"boolean"},"lastChangeDateTime":{"description":"This data element might be used to indicate e.g. with the expected or booked balance that no action is known \non the account, which is not yet booked.\n","format":"date-time","type":"string"},"referenceDate":{"description":"Indicates the date of the balance.","format":"date","type":"string"},"lastCommittedTransaction":{"description":"\"entryReference\" of the last committed transaction to support the TPP in identifying whether all \nPSU transactions are already known.\n","maxLength":35,"type":"string"}},"type":"object","required":["balanceAmount","balanceType"]},"balanceType":{"description":"The following balance types are defined:\n  - \"closingBooked\": \n    Balance of the account at the end of the pre-agreed account reporting period. \n    It is the sum of the opening booked balance at the beginning of the period and all entries booked \n    to the account during the pre-agreed account reporting period.\n\n    For card-accounts, this is composed of\n\n      - invoiced, but not yet paid entries\n\n  - \"expected\":\n    Balance composed of booked entries and pending items known at the time of calculation, \n    which projects the end of day balance if everything is booked on the account and no other entry is posted.\n\n    For card accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries and\n      - pending items (not yet booked)\n\n    For card-accounts:\n\n    \"money to spend with the value of a pre-approved credit limit on the card account\"\n\n  - \"openingBooked\":\n    Book balance of the account at the beginning of the account reporting period. \n    It always equals the closing book balance from the previous report.\n  - \"interimAvailable\":\n    Available balance calculated in the course of the account ?servicer?s business day, \n    at the time specified, and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation \n    time/period specified.\n\n    For card-accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries\n  - \"interimBooked\":\n    Balance calculated in the course of the account servicer's business day, at the time specified, \n    and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period \n    specified.\n  - \"forwardAvailable\":\n    Forward available balance of money that is at the disposal of the account owner on the date specified.\n  - \"nonInvoiced\": \n    Only for card accounts, to be checked yet.\n","type":"string","enum":["closingBooked","expected","openingBooked","interimAvailable","interimBooked","forwardAvailable","nonInvoiced"]},"_linksTransactionDetails":{"properties":{"transactionDetails":{"$ref":"#/components/schemas/hrefType"}},"type":"object","required":["transactionDetails"],"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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_AIS"},"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_AIS":{"description":"Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","SESSIONS_NOT_SUPPORTED"]},"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_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for AIS.\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_AIS"},"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_AIS"}},"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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_AIS":{"description":"Message codes defined for AIS 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"]},"Error401_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_AIS":{"description":"Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED"]},"Error403_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_AIS":{"description":"Message codes defined for AIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN"]},"Error404_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_AIS":{"description":"Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error406_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage406_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage406_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode406_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode406_AIS":{"description":"Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).","type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"Error406_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 406 for AIS.\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/MessageCode406_AIS"},"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/MessageCode406_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_AIS":{"description":"Message codes defined for AIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error429_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage429_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage429_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode429_AIS":{"description":"Message codes for HTTP Error code 429 (TOO MANY REQUESTS).","type":"string","enum":["ACCESS_EXCEEDED"]},"Error429_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 429 for AIS.\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/MessageCode429_AIS"},"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] \nin case of a HTTP error code 429 for.\n","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_TransactionDetails":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/transactionDetailsBody"}}}},"REQUEST_TIMEOUT_408_AIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_AIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_AIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_AIS"}}}},"INTERNAL_SERVER_ERROR_500_AIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_AIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"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}/accounts/{account-id}/transactions/{transactionId}":{"get":{"tags":["accounts"],"summary":"Read transaction details","description":"Reads transaction details from a given transaction addressed by \"transactionId\" on a given account addressed by \"account-id\". \nThis call is only available on transactions as reported in a JSON format.\n\n**Remark:** Please note that the PATH might be already given in detail by the corresponding entry of the response of the \n\"Read Transaction List\" call within the _links subfield.\n","operationId":"getTransactionDetails","parameters":[{"$ref":"#/components/parameters/accountId"},{"$ref":"#/components/parameters/transactionId"},{"$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/consentId_HEADER_mandatory"},{"$ref":"#/components/parameters/PSU-IP-Address_conditionalForAis"},{"$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_TransactionDetails"},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error406_NG_AIS"},{"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"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error406_AIS"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_AIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_AIS"},"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":{"oneOf":[{"$ref":"#/components/schemas/Error429_NG_AIS"},{"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/Error429_AIS"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_AIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_AIS"}}}}}}
```

## Read account details

> Reads details about an account, with balances where required. \
> It is assumed that a consent of the PSU to \
> this access is already given and stored on the ASPSP system. \
> The addressed details of this account depends then on the stored consent addressed by consentId, \
> respectively the OAuth2 access token.\
> \
> \*\*NOTE:\*\* The account-id can represent a multicurrency account. \
> In this case the currency code is set to "XXX".\
> \
> Give detailed information about the addressed account.\
> \
> Give detailed information about the addressed account together with balance information<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given account including balances if applicable\n  * Balances of a given account\n  * A list of available accounts\n  * Account details of a given account or of the list of all accessible accounts or card account  relative to a granted consent\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":{"accountId":{"description":"This identification is denoting the addressed (card) account. \nThe account-id is retrieved by using a \"Read Account List\" or \"Read Card Account list\" call. \nThe account-id is the \"resourceId\" attribute of the account structure. \nIts value is constant at least throughout the lifecycle of a given consent.\n","required":true,"schema":{"$ref":"#/components/schemas/accountId"},"in":"path","name":"account-id"},"withBalanceQuery":{"description":"If contained, this function reads the list of accessible payment accounts including the booking balance, \nif granted by the PSU in the related consent and available by the ASPSP. \nThis parameter might be ignored by the ASPSP.\n","required":false,"schema":{"type":"boolean"},"in":"query","name":"withBalance"},"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"},"consentId_HEADER_mandatory":{"description":"This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.\n","required":true,"schema":{"$ref":"#/components/schemas/consentId"},"in":"header","name":"Consent-ID"},"PSU-IP-Address_conditionalForAis":{"description":"The forwarded IP Address header field consists of the corresponding HTTP request \nIP Address field between PSU and TPP. \nIt shall be contained if and only if this request was actively initiated by the PSU.\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":{"accountId":{"description":"This identification is denoting the addressed account, where the transaction has been performed.","type":"string"},"consentId":{"description":"ID of the corresponding consent object as returned by an account information consent request.\n","type":"string"},"accountDetails":{"description":"The ASPSP shall give at least one of the account reference identifiers:\n  - iban\n  - bban\n  - pan\n  - maskedPan\n  - msisdn\nIf the account is a multicurrency account currency code in \"currency\" is set to \"XXX\".\n","properties":{"resourceId":{"description":"This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint.","type":"string"},"iban":{"$ref":"#/components/schemas/iban"},"bban":{"$ref":"#/components/schemas/bban"},"msisdn":{"$ref":"#/components/schemas/msisdn"},"currency":{"$ref":"#/components/schemas/currencyCode"},"ownerName":{"$ref":"#/components/schemas/ownerName"},"ownerNames":{"description":"List of owner names.\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"},"name":{"description":"Name of the account, as assigned by the ASPSP, in agreement with the account owner in order to provide an additional means of identification of the account.","maxLength":70,"type":"string"},"displayName":{"$ref":"#/components/schemas/displayName"},"product":{"description":"Product name of the bank for this account, proprietary definition.","maxLength":35,"type":"string"},"cashAccountType":{"$ref":"#/components/schemas/cashAccountType"},"status":{"$ref":"#/components/schemas/accountStatus"},"bic":{"$ref":"#/components/schemas/bicfi"},"linkedAccounts":{"description":"Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on.","maxLength":70,"type":"string"},"usage":{"description":"Specifies the usage of the account:\n  * PRIV: private personal account\n  * ORGA: professional account\n","maxLength":4,"type":"string","enum":["PRIV","ORGA"]},"details":{"description":"Specifications that might be provided by the ASPSP:\n  - characteristics of the account\n  - characteristics of the relevant card\n","maxLength":500,"type":"string"},"balances":{"$ref":"#/components/schemas/balanceList"},"_links":{"$ref":"#/components/schemas/_linksAccountDetails"}},"type":"object","required":["currency"]},"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"},"msisdn":{"description":"Mobile phone number.","maxLength":35,"type":"string"},"currencyCode":{"description":"ISO 4217 Alpha 3 currency code.\n","pattern":"[A-Z]{3}","type":"string"},"ownerName":{"description":"Name of the legal account owner. \nIf there is more than one owner, then e.g. two names might be noted here.\n\nFor a corporate account, the corporate name is used for this attribute.\nEven if supported by the ASPSP, the provision of this field might depend on the fact whether an explicit consent to this specific additional account information has been given by the PSU.\n","maxLength":140,"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"]},"displayName":{"description":"Name of the account as defined by the PSU within online channels.\n","maxLength":70,"type":"string"},"cashAccountType":{"description":"ExternalCashAccountType1Code from ISO 20022.\n","type":"string"},"accountStatus":{"description":"Account status. The value is one of the following:\n  - \"enabled\": account is available\n  - \"deleted\": account is terminated\n  - \"blocked\": account is blocked e.g. for legal reasons\nIf this field is not used, than the account is available in the sense of this specification.\n","type":"string","enum":["enabled","deleted","blocked"]},"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"},"balanceList":{"description":"A list of balances regarding this account, e.g. the current balance, the last booked balance.\nThe list might be restricted to the current balance.\n","type":"array","items":{"$ref":"#/components/schemas/balance"}},"balance":{"description":"A single balance element.\n","properties":{"balanceAmount":{"$ref":"#/components/schemas/amount"},"balanceType":{"$ref":"#/components/schemas/balanceType"},"creditLimitIncluded":{"description":"A flag indicating if the credit limit of the corresponding account \nis included in the calculation of the balance, where applicable.\n","type":"boolean"},"lastChangeDateTime":{"description":"This data element might be used to indicate e.g. with the expected or booked balance that no action is known \non the account, which is not yet booked.\n","format":"date-time","type":"string"},"referenceDate":{"description":"Indicates the date of the balance.","format":"date","type":"string"},"lastCommittedTransaction":{"description":"\"entryReference\" of the last committed transaction to support the TPP in identifying whether all \nPSU transactions are already known.\n","maxLength":35,"type":"string"}},"type":"object","required":["balanceAmount","balanceType"]},"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"},"balanceType":{"description":"The following balance types are defined:\n  - \"closingBooked\": \n    Balance of the account at the end of the pre-agreed account reporting period. \n    It is the sum of the opening booked balance at the beginning of the period and all entries booked \n    to the account during the pre-agreed account reporting period.\n\n    For card-accounts, this is composed of\n\n      - invoiced, but not yet paid entries\n\n  - \"expected\":\n    Balance composed of booked entries and pending items known at the time of calculation, \n    which projects the end of day balance if everything is booked on the account and no other entry is posted.\n\n    For card accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries and\n      - pending items (not yet booked)\n\n    For card-accounts:\n\n    \"money to spend with the value of a pre-approved credit limit on the card account\"\n\n  - \"openingBooked\":\n    Book balance of the account at the beginning of the account reporting period. \n    It always equals the closing book balance from the previous report.\n  - \"interimAvailable\":\n    Available balance calculated in the course of the account ?servicer?s business day, \n    at the time specified, and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation \n    time/period specified.\n\n    For card-accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries\n  - \"interimBooked\":\n    Balance calculated in the course of the account servicer's business day, at the time specified, \n    and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period \n    specified.\n  - \"forwardAvailable\":\n    Forward available balance of money that is at the disposal of the account owner on the date specified.\n  - \"nonInvoiced\": \n    Only for card accounts, to be checked yet.\n","type":"string","enum":["closingBooked","expected","openingBooked","interimAvailable","interimBooked","forwardAvailable","nonInvoiced"]},"_linksAccountDetails":{"description":"Links to the account, which can be directly used for retrieving account information from this dedicated account.\n\nLinks to \"balances\" and/or \"transactions\"\n\nThese links are only supported, when the corresponding consent has been already granted.\n","properties":{"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_AIS"},"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_AIS":{"description":"Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","SESSIONS_NOT_SUPPORTED"]},"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_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for AIS.\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_AIS"},"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_AIS"}},"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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_AIS":{"description":"Message codes defined for AIS 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"]},"Error401_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_AIS":{"description":"Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED"]},"Error403_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_AIS":{"description":"Message codes defined for AIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN"]},"Error404_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_AIS":{"description":"Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error406_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage406_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage406_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode406_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode406_AIS":{"description":"Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).","type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"Error406_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 406 for AIS.\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/MessageCode406_AIS"},"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/MessageCode406_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_AIS":{"description":"Message codes defined for AIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error429_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage429_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage429_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode429_AIS":{"description":"Message codes for HTTP Error code 429 (TOO MANY REQUESTS).","type":"string","enum":["ACCESS_EXCEEDED"]},"Error429_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 429 for AIS.\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/MessageCode429_AIS"},"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] \nin case of a HTTP error code 429 for.\n","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_AccountDetails":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"account":{"$ref":"#/components/schemas/accountDetails"}},"type":"object","required":["account"]}}}},"REQUEST_TIMEOUT_408_AIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_AIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_AIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_AIS"}}}},"INTERNAL_SERVER_ERROR_500_AIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_AIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"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}/accounts/{account-id}":{"get":{"tags":["accounts"],"summary":"Read account details","description":"Reads details about an account, with balances where required. \nIt is assumed that a consent of the PSU to \nthis access is already given and stored on the ASPSP system. \nThe addressed details of this account depends then on the stored consent addressed by consentId, \nrespectively the OAuth2 access token.\n\n**NOTE:** The account-id can represent a multicurrency account. \nIn this case the currency code is set to \"XXX\".\n\nGive detailed information about the addressed account.\n\nGive detailed information about the addressed account together with balance information\n","operationId":"readAccountDetails","parameters":[{"$ref":"#/components/parameters/accountId"},{"$ref":"#/components/parameters/withBalanceQuery"},{"$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/consentId_HEADER_mandatory"},{"$ref":"#/components/parameters/PSU-IP-Address_conditionalForAis"},{"$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_AccountDetails"},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error406_NG_AIS"},{"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"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error406_AIS"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_AIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_AIS"},"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":{"oneOf":[{"$ref":"#/components/schemas/Error429_NG_AIS"},{"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/Error429_AIS"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_AIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_AIS"}}}}}}
```

## Read transaction list of an account

> Read transaction reports or transaction lists of a given account addressed by "account-id", depending on the steering parameter \
> "bookingStatus" together with balances.\
> \
> For a given account, additional parameters are e.g. the attributes "dateFrom" and "dateTo". \
> The ASPSP might add balance information, if transaction lists without balances are not supported.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given account including balances if applicable\n  * Balances of a given account\n  * A list of available accounts\n  * Account details of a given account or of the list of all accessible accounts or card account  relative to a granted consent\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":{"accountId":{"description":"This identification is denoting the addressed (card) account. \nThe account-id is retrieved by using a \"Read Account List\" or \"Read Card Account list\" call. \nThe account-id is the \"resourceId\" attribute of the account structure. \nIts value is constant at least throughout the lifecycle of a given consent.\n","required":true,"schema":{"$ref":"#/components/schemas/accountId"},"in":"path","name":"account-id"},"dateFrom":{"description":"Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required\nand if bookingStatus does not equal \"information\".\n\nFor booked transactions, the relevant date is the booking date. \n\nFor pending transactions, the relevant date is the entry date, which may not be transparent \nneither in this API nor other channels of the ASPSP.\n","required":false,"schema":{"format":"date","type":"string"},"in":"query","name":"dateFrom"},"dateTo":{"description":"End date (inclusive the data dateTo) of the transaction list, default is \"now\" if not given. \n\nMight be ignored if a delta function is used.\n\nFor booked transactions, the relevant date is the booking date. \n\nFor pending transactions, the relevant date is the entry date, which may not be transparent \nneither in this API nor other channels of the ASPSP.\n","required":false,"schema":{"format":"date","type":"string"},"in":"query","name":"dateTo"},"entryReferenceFrom":{"description":"This data attribute is indicating that the AISP is in favour to get all transactions after \nthe transaction with identification entryReferenceFrom alternatively to the above defined period. \nThis is a implementation of a delta access. \nIf this data element is contained, the entries \"dateFrom\" and \"dateTo\" might be ignored by the ASPSP \nif a delta report is supported.\n\nOptional if supported by API provider.\n","required":false,"schema":{"type":"string"},"in":"query","name":"entryReferenceFrom"},"bookingStatusGeneric":{"description":"Permitted codes are \n  * \"booked\",\n  * \"pending\",  \n  * \"both\",\n  * \"information\" and\n  * \"all\"\n\"booked\" shall be supported by the ASPSP.\nTo support the \"pending\" and \"both\" feature is optional for the ASPSP, \nError code if not supported in the online banking frontend.\nIf supported, \"both\" means to request transaction reports of transaction of bookingStatus either \"pending\" or \"booked\".\nTo support the \"information\" feature is optional for the ASPSP. Currently the booking status “information” only covers standing orders. Error code if not supported.\nTo support the \"all\" feature is optional for the ASPSP, Error code if not supported. If supported, \"all\" means to request transaction reports of transaction of any bookingStatus (\"pending\", \"booked\" or \"information\").\n","required":true,"schema":{"type":"string","enum":["information","booked","pending","both","all"]},"in":"query","name":"bookingStatus"},"deltaList":{"description":"This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report.\nThis delta indicator might be rejected by the ASPSP if this function is not supported.\nOptional if supported by API provider","schema":{"type":"boolean"},"in":"query","name":"deltaList"},"withBalanceQuery":{"description":"If contained, this function reads the list of accessible payment accounts including the booking balance, \nif granted by the PSU in the related consent and available by the ASPSP. \nThis parameter might be ignored by the ASPSP.\n","required":false,"schema":{"type":"boolean"},"in":"query","name":"withBalance"},"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"},"consentId_HEADER_mandatory":{"description":"This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.\n","required":true,"schema":{"$ref":"#/components/schemas/consentId"},"in":"header","name":"Consent-ID"},"PSU-IP-Address_conditionalForAis":{"description":"The forwarded IP Address header field consists of the corresponding HTTP request \nIP Address field between PSU and TPP. \nIt shall be contained if and only if this request was actively initiated by the PSU.\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":{"accountId":{"description":"This identification is denoting the addressed account, where the transaction has been performed.","type":"string"},"consentId":{"description":"ID of the corresponding consent object as returned by an account information consent request.\n","type":"string"},"transactionsResponse-200_json":{"description":"Body of the JSON response for a successful read transaction list request.\nThis account report contains transactions resulting from the query parameters.\n","properties":{"account":{"$ref":"#/components/schemas/accountReference"},"transactions":{"$ref":"#/components/schemas/accountReport"},"balances":{"$ref":"#/components/schemas/balanceList"},"_links":{"$ref":"#/components/schemas/_linksDownload"}},"type":"object"},"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"},"accountReport":{"description":"JSON based account report.\nThis account report contains transactions resulting from the query parameters.\n\n'booked' shall be contained if bookingStatus parameter is set to \"booked\" or \"both\".\n\n'pending' is not contained if the bookingStatus parameter is set to \"booked\" or \"information\".\n\n'information' Only contained if the bookingStatus is set to \"information\" and if supported by ASPSP.\n","properties":{"booked":{"$ref":"#/components/schemas/transactionList"},"pending":{"$ref":"#/components/schemas/transactionList"},"information":{"$ref":"#/components/schemas/transactionList"},"_links":{"$ref":"#/components/schemas/_linksAccountReport"}},"type":"object","required":["_links"]},"transactionList":{"description":"Array of transaction details.","type":"array","items":{"$ref":"#/components/schemas/transactions"}},"transactions":{"description":"Transaction details.","properties":{"transactionId":{"$ref":"#/components/schemas/transactionId"},"entryReference":{"$ref":"#/components/schemas/entryReference"},"endToEndId":{"description":"Unique end to end identity.","maxLength":35,"type":"string"},"batchIndicator":{"description":"If this indicator equals true, then the related entry is a batch entry.\n","type":"boolean"},"batchNumberOfTransactions":{"description":"Shall be used if and only if the batchIndicator is contained and equals true.\n","type":"integer"},"mandateId":{"description":"Identification of Mandates, e.g. a SEPA Mandate ID.","maxLength":35,"type":"string"},"checkId":{"description":"Identification of a Cheque.","maxLength":35,"type":"string"},"creditorId":{"$ref":"#/components/schemas/creditorId"},"bookingDate":{"$ref":"#/components/schemas/bookingDate"},"valueDate":{"description":"The Date at which assets become available to the account owner in case of a credit, or cease to be available to the account owner in case of a debit entry. **Usage:** If entry status is pending and value date is present, then the value date refers to an expected/requested value date.","format":"date","type":"string"},"transactionAmount":{"$ref":"#/components/schemas/amount"},"currencyExchange":{"$ref":"#/components/schemas/reportExchangeRateList"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateCreditor":{"$ref":"#/components/schemas/ultimateCreditor"},"debtorName":{"$ref":"#/components/schemas/debtorName"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"debtorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateDebtor":{"$ref":"#/components/schemas/ultimateDebtor"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"},"remittanceInformationUnstructuredArray":{"$ref":"#/components/schemas/remittanceInformationUnstructuredArray"},"remittanceInformationStructured":{"$ref":"#/components/schemas/remittanceInformationStructuredMax140"},"remittanceInformationStructuredArray":{"$ref":"#/components/schemas/remittanceInformationStructuredArray"},"entryDetails":{"$ref":"#/components/schemas/entryDetails"},"additionalInformation":{"$ref":"#/components/schemas/additionalInformation"},"additionalInformationStructured":{"$ref":"#/components/schemas/additionalInformationStructured"},"purposeCode":{"$ref":"#/components/schemas/purposeCode"},"bankTransactionCode":{"$ref":"#/components/schemas/bankTransactionCode"},"proprietaryBankTransactionCode":{"$ref":"#/components/schemas/proprietaryBankTransactionCode"},"balanceAfterTransaction":{"$ref":"#/components/schemas/balance"},"_links":{"$ref":"#/components/schemas/_linksTransactionDetails"}},"type":"object","required":["transactionAmount"]},"transactionId":{"description":"This identification is given by the attribute transactionId of the corresponding entry of a transaction list.\n","type":"string"},"entryReference":{"description":"Is the identification of the transaction as used e.g. for reference for deltafunction on application level.\nThe same identification as for example used within camt.05x messages.\n","maxLength":35,"type":"string"},"creditorId":{"description":"Identification of Creditors, e.g. a SEPA Creditor ID.","maxLength":35,"type":"string"},"bookingDate":{"description":"The date when an entry is posted to an account on the ASPSPs books.\n","format":"date","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"},"reportExchangeRateList":{"description":"Array of exchange rates.","type":"array","items":{"$ref":"#/components/schemas/reportExchangeRate"}},"reportExchangeRate":{"description":"Exchange Rate.","properties":{"sourceCurrency":{"$ref":"#/components/schemas/currencyCode"},"exchangeRate":{"type":"string"},"unitCurrency":{"$ref":"#/components/schemas/currencyCode"},"targetCurrency":{"$ref":"#/components/schemas/currencyCode"},"quotationDate":{"format":"date","type":"string"},"contractIdentification":{"maxLength":35,"type":"string"}},"type":"object","required":["sourceCurrency","exchangeRate","unitCurrency","targetCurrency","quotationDate"]},"creditorName":{"description":"Creditor name.","maxLength":70,"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"},"ultimateCreditor":{"description":"Ultimate creditor.","maxLength":70,"type":"string"},"debtorName":{"description":"Debtor name.","maxLength":70,"type":"string"},"ultimateDebtor":{"description":"Ultimate debtor.","maxLength":70,"type":"string"},"remittanceInformationUnstructured":{"description":"Unstructured remittance information.\n","maxLength":140,"type":"string"},"remittanceInformationUnstructuredArray":{"description":"Array of unstructured remittance information.\n","type":"array","items":{"$ref":"#/components/schemas/remittanceInformationUnstructured"}},"remittanceInformationStructuredMax140":{"description":"Structured remittance information Max\n","maxLength":140,"type":"string"},"remittanceInformationStructuredArray":{"description":"Array of structured remittance information.\n","type":"array","items":{"$ref":"#/components/schemas/remittanceInformationStructured"}},"remittanceInformationStructured":{"description":"Structured remittance information.\n","properties":{"reference":{"maxLength":35,"type":"string"},"referenceType":{"maxLength":35,"type":"string"},"referenceIssuer":{"maxLength":35,"type":"string"}},"type":"object","required":["reference"]},"entryDetails":{"description":"Might be used by the ASPSP to transport details about transactions within a batch.\n","type":"array","items":{"$ref":"#/components/schemas/EntryDetailsElement"}},"EntryDetailsElement":{"properties":{"endToEndId":{"description":"Unique end to end identity.","maxLength":35,"type":"string"},"mandateId":{"description":"Identification of Mandates, e.g. a SEPA Mandate ID.","maxLength":35,"type":"string"},"checkId":{"description":"Identification of a Cheque.","maxLength":35,"type":"string"},"creditorId":{"$ref":"#/components/schemas/creditorId"},"transactionAmount":{"$ref":"#/components/schemas/amount"},"currencyExchange":{"$ref":"#/components/schemas/reportExchangeRateList"},"creditorName":{"$ref":"#/components/schemas/creditorName"},"creditorAccount":{"$ref":"#/components/schemas/accountReference"},"creditorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateCreditor":{"$ref":"#/components/schemas/ultimateCreditor"},"debtorName":{"$ref":"#/components/schemas/debtorName"},"debtorAccount":{"$ref":"#/components/schemas/accountReference"},"debtorAgent":{"$ref":"#/components/schemas/bicfi"},"ultimateDebtor":{"$ref":"#/components/schemas/ultimateDebtor"},"remittanceInformationUnstructured":{"$ref":"#/components/schemas/remittanceInformationUnstructured"},"remittanceInformationUnstructuredArray":{"$ref":"#/components/schemas/remittanceInformationUnstructuredArray"},"remittanceInformationStructured":{"$ref":"#/components/schemas/remittanceInformationStructured"},"remittanceInformationStructuredArray":{"$ref":"#/components/schemas/remittanceInformationStructuredArray"},"purposeCode":{"$ref":"#/components/schemas/purposeCode"}},"type":"object","required":["transactionAmount"]},"purposeCode":{"description":"ExternalPurpose1Code from ISO 20022.\n\nValues from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018.\n","type":"string","enum":["BKDF","BKFE","BKFM","BKIP","BKPP","CBLK","CDCB","CDCD","CDCS","CDDP","CDOC","CDQC","ETUP","FCOL","MTUP","ACCT","CASH","COLL","CSDB","DEPT","INTC","LIMA","NETT","BFWD","CCIR","CCPC","CCPM","CCSM","CRDS","CRPR","CRSP","CRTL","EQPT","EQUS","EXPT","EXTD","FIXI","FWBC","FWCC","FWSB","FWSC","MARG","MBSB","MBSC","MGCC","MGSC","OCCC","OPBC","OPCC","OPSB","OPSC","OPTN","OTCD","REPO","RPBC","RPCC","RPSB","RPSC","RVPO","SBSC","SCIE","SCIR","SCRP","SHBC","SHCC","SHSL","SLEB","SLOA","SWBC","SWCC","SWPT","SWSB","SWSC","TBAS","TBBC","TBCC","TRCP","AGRT","AREN","BEXP","BOCE","COMC","CPYR","GDDS","GDSV","GSCB","LICF","MP2B","POPE","ROYA","SCVE","SERV","SUBS","SUPP","TRAD","CHAR","COMT","MP2P","ECPG","ECPR","ECPU","EPAY","CLPR","COMP","DBTC","GOVI","HLRP","HLST","INPC","INPR","INSC","INSU","INTE","LBRI","LIFI","LOAN","LOAR","PENO","PPTI","RELG","RINP","TRFD","FORW","FXNT","ADMG","ADVA","BCDM","BCFG","BLDM","BNET","CBFF","CBFR","CCRD","CDBL","CFEE","CGDD","CORT","COST","CPKC","DCRD","DSMT","DVPM","EDUC","FACT","FAND","FCPM","FEES","GOVT","ICCP","IDCP","IHRP","INSM","IVPT","MCDM","MCFG","MSVC","NOWS","OCDM","OCFG","OFEE","OTHR","PADD","PTSP","RCKE","RCPT","REBT","REFU","RENT","REOD","RIMB","RPNT","RRBN","RVPM","SLPI","SPLT","STDY","TBAN","TBIL","TCSC","TELI","TMPG","TPRI","TPRP","TRNC","TRVC","WEBI","ANNI","CAFI","CFDI","CMDT","DERI","DIVD","FREX","HEDG","INVS","PRME","SAVG","SECU","SEPI","TREA","UNIT","FNET","FUTR","ANTS","CVCF","DMEQ","DNTS","HLTC","HLTI","HSPC","ICRF","LTCF","MAFC","MARF","MDCS","VIEW","CDEP","SWFP","SWPP","SWRS","SWUF","ADCS","AEMP","ALLW","ALMY","BBSC","BECH","BENE","BONU","CCHD","COMM","CSLP","GFRP","GVEA","GVEB","GVEC","GVED","GWLT","HREC","PAYR","PEFC","PENS","PRCP","RHBS","SALA","SSBE","LBIN","LCOL","LFEE","LMEQ","LMFI","LMRK","LREB","LREV","LSFL","ESTX","FWLV","GSTX","HSTX","INTX","NITX","PTXP","RDTX","TAXS","VATX","WHLD","TAXR","B112","BR12","TLRF","TLRR","AIRB","BUSB","FERB","RLWY","TRPT","CBTV","ELEC","ENRG","GASB","NWCH","NWCM","OTLC","PHON","UBIL","WTER"]},"additionalInformation":{"description":"Might be used by the ASPSP to transport additional transaction related information to the PSU\n","maxLength":500,"type":"string"},"additionalInformationStructured":{"description":"Is used if and only if the bookingStatus entry equals \"information\". \nEvery active standing order related to the dedicated payment account result into one entry.\n","properties":{"standingOrderDetails":{"$ref":"#/components/schemas/standingOrderDetails"}},"type":"object","required":["standingOrderDetails"]},"standingOrderDetails":{"description":"Details of underlying standing orders.\n","properties":{"startDate":{"$ref":"#/components/schemas/startDate"},"frequency":{"$ref":"#/components/schemas/frequencyCode"},"endDate":{"$ref":"#/components/schemas/endDate"},"executionRule":{"$ref":"#/components/schemas/executionRule"},"withinAMonthFlag":{"description":"This element is only used in case of frequency equals \"Monthly\".\n\nIf this element equals false it has no effect.\nIf this element equals true, then the execution rule is overruled if the day of execution would fall into a different month using the execution rule.\n\nExample: executionRule equals \"preceding\", dayOfExecution equals \"02\" and the second of a month is a Sunday. \nIn this case, the transaction date would be on the last day of the month before.\n This would be overruled if withinAMonthFlag equals true and the payment is processed on Monday the third of the Month.\nRemark: This attribute is rarely supported in the market.\n","type":"boolean"},"monthsOfExecution":{"$ref":"#/components/schemas/monthsOfExecution"},"multiplicator":{"description":"This is multiplying the given frequency resulting the exact frequency,\ne.g. Frequency=weekly and multiplicator=3 means every 3 weeks.\nRemark: This attribute is rarely supported in the market.\n","type":"integer"},"dayOfExecution":{"$ref":"#/components/schemas/dayOfExecution"},"limitAmount":{"$ref":"#/components/schemas/amount"}},"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"},"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"]},"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"]},"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"]}},"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"]},"bankTransactionCode":{"description":"Bank transaction code as used by the ASPSP and using the sub elements of this structured code defined by ISO 20022. \n\nThis code type is concatenating the three ISO20022 Codes \n  * Domain Code, \n  * Family Code, and \n  * SubFamily Code \nby hyphens, resulting in 'DomainCode'-'FamilyCode'-'SubFamilyCode'.\nFor standing order reports the following codes are applicable:\n  * \"PMNT-ICDT-STDO\" for credit transfers,\n  * \"PMNT-IRCT-STDO\"  for instant credit transfers\n  * \"PMNT-ICDT-XBST\" for cross-border credit transfers\n  * \"PMNT-IRCT-XBST\" for cross-border real time credit transfers and\n  * \"PMNT-MCOP-OTHR\" for specific standing orders which have a dynamical amount to move left funds e.g. on month end to a saving account\n","type":"string"},"proprietaryBankTransactionCode":{"description":"Proprietary bank transaction code as used within a community or within an ASPSP e.g. \nfor MT94x based transaction reports.\n","maxLength":35,"type":"string"},"balance":{"description":"A single balance element.\n","properties":{"balanceAmount":{"$ref":"#/components/schemas/amount"},"balanceType":{"$ref":"#/components/schemas/balanceType"},"creditLimitIncluded":{"description":"A flag indicating if the credit limit of the corresponding account \nis included in the calculation of the balance, where applicable.\n","type":"boolean"},"lastChangeDateTime":{"description":"This data element might be used to indicate e.g. with the expected or booked balance that no action is known \non the account, which is not yet booked.\n","format":"date-time","type":"string"},"referenceDate":{"description":"Indicates the date of the balance.","format":"date","type":"string"},"lastCommittedTransaction":{"description":"\"entryReference\" of the last committed transaction to support the TPP in identifying whether all \nPSU transactions are already known.\n","maxLength":35,"type":"string"}},"type":"object","required":["balanceAmount","balanceType"]},"balanceType":{"description":"The following balance types are defined:\n  - \"closingBooked\": \n    Balance of the account at the end of the pre-agreed account reporting period. \n    It is the sum of the opening booked balance at the beginning of the period and all entries booked \n    to the account during the pre-agreed account reporting period.\n\n    For card-accounts, this is composed of\n\n      - invoiced, but not yet paid entries\n\n  - \"expected\":\n    Balance composed of booked entries and pending items known at the time of calculation, \n    which projects the end of day balance if everything is booked on the account and no other entry is posted.\n\n    For card accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries and\n      - pending items (not yet booked)\n\n    For card-accounts:\n\n    \"money to spend with the value of a pre-approved credit limit on the card account\"\n\n  - \"openingBooked\":\n    Book balance of the account at the beginning of the account reporting period. \n    It always equals the closing book balance from the previous report.\n  - \"interimAvailable\":\n    Available balance calculated in the course of the account ?servicer?s business day, \n    at the time specified, and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation \n    time/period specified.\n\n    For card-accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries\n  - \"interimBooked\":\n    Balance calculated in the course of the account servicer's business day, at the time specified, \n    and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period \n    specified.\n  - \"forwardAvailable\":\n    Forward available balance of money that is at the disposal of the account owner on the date specified.\n  - \"nonInvoiced\": \n    Only for card accounts, to be checked yet.\n","type":"string","enum":["closingBooked","expected","openingBooked","interimAvailable","interimBooked","forwardAvailable","nonInvoiced"]},"_linksTransactionDetails":{"properties":{"transactionDetails":{"$ref":"#/components/schemas/hrefType"}},"type":"object","required":["transactionDetails"],"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"},"_linksAccountReport":{"properties":{"account":{"$ref":"#/components/schemas/hrefType"},"first":{"$ref":"#/components/schemas/hrefType"},"next":{"$ref":"#/components/schemas/hrefType"},"previous":{"$ref":"#/components/schemas/hrefType"},"last":{"$ref":"#/components/schemas/hrefType"}},"type":"object","required":["account"],"additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"balanceList":{"description":"A list of balances regarding this account, e.g. the current balance, the last booked balance.\nThe list might be restricted to the current balance.\n","type":"array","items":{"$ref":"#/components/schemas/balance"}},"_linksDownload":{"description":"A list of hyperlinks to be recognised by the TPP.\n\nType of links admitted in this response:\n  - \"download\": a link to a resource, where the transaction report might be downloaded from in \n  case where transaction reports have a huge size.\n\nRemark: This feature shall only be used where camt-data is requested which has a huge size.\n","properties":{"download":{"$ref":"#/components/schemas/hrefType"}},"type":"object","additionalProperties":{"$ref":"#/components/schemas/hrefType"}},"camt.052":{"description":"camt.052 XML message.\n","type":"string"},"camt.053":{"description":"camt.053 XML message.\n","type":"string"},"camt.054":{"description":"camt.054 XML message.\n","type":"string"},"mt940":{"description":"Data MT940 format in a text structure.\n","type":"string"},"mt942":{"description":"Data MT942 format in a text structure.\n","type":"string"},"Error400_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_AIS"},"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_AIS":{"description":"Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","SESSIONS_NOT_SUPPORTED"]},"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_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for AIS.\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_AIS"},"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_AIS"}},"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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_AIS":{"description":"Message codes defined for AIS 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"]},"Error401_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_AIS":{"description":"Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED"]},"Error403_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_AIS":{"description":"Message codes defined for AIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN"]},"Error404_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_AIS":{"description":"Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error406_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage406_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage406_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode406_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode406_AIS":{"description":"Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).","type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"Error406_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 406 for AIS.\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/MessageCode406_AIS"},"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/MessageCode406_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_AIS":{"description":"Message codes defined for AIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error429_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage429_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage429_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode429_AIS":{"description":"Message codes for HTTP Error code 429 (TOO MANY REQUESTS).","type":"string","enum":["ACCESS_EXCEEDED"]},"Error429_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 429 for AIS.\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/MessageCode429_AIS"},"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] \nin case of a HTTP error code 429 for.\n","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_AccountsTransactions":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/transactionsResponse-200_json"}},"application/xml":{"schema":{"description":"Body of the XML response for a successful read transaction list request.\nThe body has the structure of a either a camt.052 or camt.053 message.\nThe camt.052 may include pending payments which are not yet finally booked. The ASPSP will decide on the format due to the chosen parameters, specifically on the chosen dates relative to the time of the request. In addition the ASPSP might offer camt.054x structure e.g. in a corporate setting.","oneOf":[{"$ref":"#/components/schemas/camt.052"},{"$ref":"#/components/schemas/camt.053"},{"$ref":"#/components/schemas/camt.054"}]}},"text/plain":{"schema":{"description":"Body of the Text response for a successful read transaction list request.\nThe body has the structure of a MT94x message.\nThe response body consists of an MT940 or MT942 format in a text structure. The MT942 may include pending payments which are not yet finally booked. The ASPSP will decide on the format due to the chosen parameters, specifically on the chosen dates relative to the time of the request.","oneOf":[{"$ref":"#/components/schemas/mt940"},{"$ref":"#/components/schemas/mt942"}]}}}},"REQUEST_TIMEOUT_408_AIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_AIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_AIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_AIS"}}}},"INTERNAL_SERVER_ERROR_500_AIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_AIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"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}/accounts/{account-id}/transactions":{"get":{"tags":["accounts"],"summary":"Read transaction list of an account","description":"Read transaction reports or transaction lists of a given account addressed by \"account-id\", depending on the steering parameter \n\"bookingStatus\" together with balances.\n\nFor a given account, additional parameters are e.g. the attributes \"dateFrom\" and \"dateTo\". \nThe ASPSP might add balance information, if transaction lists without balances are not supported.\n","operationId":"getTransactionList","parameters":[{"$ref":"#/components/parameters/accountId"},{"$ref":"#/components/parameters/dateFrom"},{"$ref":"#/components/parameters/dateTo"},{"$ref":"#/components/parameters/entryReferenceFrom"},{"$ref":"#/components/parameters/bookingStatusGeneric"},{"$ref":"#/components/parameters/deltaList"},{"$ref":"#/components/parameters/withBalanceQuery"},{"$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/consentId_HEADER_mandatory"},{"$ref":"#/components/parameters/PSU-IP-Address_conditionalForAis"},{"$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_AccountsTransactions"},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error406_NG_AIS"},{"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"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error406_AIS"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_AIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_AIS"},"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":{"oneOf":[{"$ref":"#/components/schemas/Error429_NG_AIS"},{"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/Error429_AIS"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_AIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_AIS"}}}}}}
```

## Read account list

> Read the identifiers of the available payment account together with \
> booking balance information, depending on the consent granted.\
> \
> It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. \
> The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, \
> respectively the OAuth2 access token. \
> \
> Returns all identifiers of the accounts, to which an account access has been granted to through \
> the /consents endpoint by the PSU. \
> In addition, relevant information about the accounts and hyperlinks to corresponding account \
> information resources are provided if a related consent has been already granted.\
> \
> Remark: Note that the /consents endpoint optionally offers to grant an access on all available \
> payment accounts of a PSU. \
> In this case, this endpoint will deliver the information about all available payment accounts \
> of the PSU at this ASPSP.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given account including balances if applicable\n  * Balances of a given account\n  * A list of available accounts\n  * Account details of a given account or of the list of all accessible accounts or card account  relative to a granted consent\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":{"withBalanceQuery":{"description":"If contained, this function reads the list of accessible payment accounts including the booking balance, \nif granted by the PSU in the related consent and available by the ASPSP. \nThis parameter might be ignored by the ASPSP.\n","required":false,"schema":{"type":"boolean"},"in":"query","name":"withBalance"},"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"},"consentId_HEADER_mandatory":{"description":"This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.\n","required":true,"schema":{"$ref":"#/components/schemas/consentId"},"in":"header","name":"Consent-ID"},"PSU-IP-Address_conditionalForAis":{"description":"The forwarded IP Address header field consists of the corresponding HTTP request \nIP Address field between PSU and TPP. \nIt shall be contained if and only if this request was actively initiated by the PSU.\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":{"consentId":{"description":"ID of the corresponding consent object as returned by an account information consent request.\n","type":"string"},"accountList":{"description":"List of accounts with details.\n","properties":{"accounts":{"type":"array","items":{"$ref":"#/components/schemas/accountDetails"}}},"type":"object","required":["accounts"]},"accountDetails":{"description":"The ASPSP shall give at least one of the account reference identifiers:\n  - iban\n  - bban\n  - pan\n  - maskedPan\n  - msisdn\nIf the account is a multicurrency account currency code in \"currency\" is set to \"XXX\".\n","properties":{"resourceId":{"description":"This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint.","type":"string"},"iban":{"$ref":"#/components/schemas/iban"},"bban":{"$ref":"#/components/schemas/bban"},"msisdn":{"$ref":"#/components/schemas/msisdn"},"currency":{"$ref":"#/components/schemas/currencyCode"},"ownerName":{"$ref":"#/components/schemas/ownerName"},"ownerNames":{"description":"List of owner names.\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"},"name":{"description":"Name of the account, as assigned by the ASPSP, in agreement with the account owner in order to provide an additional means of identification of the account.","maxLength":70,"type":"string"},"displayName":{"$ref":"#/components/schemas/displayName"},"product":{"description":"Product name of the bank for this account, proprietary definition.","maxLength":35,"type":"string"},"cashAccountType":{"$ref":"#/components/schemas/cashAccountType"},"status":{"$ref":"#/components/schemas/accountStatus"},"bic":{"$ref":"#/components/schemas/bicfi"},"linkedAccounts":{"description":"Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on.","maxLength":70,"type":"string"},"usage":{"description":"Specifies the usage of the account:\n  * PRIV: private personal account\n  * ORGA: professional account\n","maxLength":4,"type":"string","enum":["PRIV","ORGA"]},"details":{"description":"Specifications that might be provided by the ASPSP:\n  - characteristics of the account\n  - characteristics of the relevant card\n","maxLength":500,"type":"string"},"balances":{"$ref":"#/components/schemas/balanceList"},"_links":{"$ref":"#/components/schemas/_linksAccountDetails"}},"type":"object","required":["currency"]},"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"},"msisdn":{"description":"Mobile phone number.","maxLength":35,"type":"string"},"currencyCode":{"description":"ISO 4217 Alpha 3 currency code.\n","pattern":"[A-Z]{3}","type":"string"},"ownerName":{"description":"Name of the legal account owner. \nIf there is more than one owner, then e.g. two names might be noted here.\n\nFor a corporate account, the corporate name is used for this attribute.\nEven if supported by the ASPSP, the provision of this field might depend on the fact whether an explicit consent to this specific additional account information has been given by the PSU.\n","maxLength":140,"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"]},"displayName":{"description":"Name of the account as defined by the PSU within online channels.\n","maxLength":70,"type":"string"},"cashAccountType":{"description":"ExternalCashAccountType1Code from ISO 20022.\n","type":"string"},"accountStatus":{"description":"Account status. The value is one of the following:\n  - \"enabled\": account is available\n  - \"deleted\": account is terminated\n  - \"blocked\": account is blocked e.g. for legal reasons\nIf this field is not used, than the account is available in the sense of this specification.\n","type":"string","enum":["enabled","deleted","blocked"]},"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"},"balanceList":{"description":"A list of balances regarding this account, e.g. the current balance, the last booked balance.\nThe list might be restricted to the current balance.\n","type":"array","items":{"$ref":"#/components/schemas/balance"}},"balance":{"description":"A single balance element.\n","properties":{"balanceAmount":{"$ref":"#/components/schemas/amount"},"balanceType":{"$ref":"#/components/schemas/balanceType"},"creditLimitIncluded":{"description":"A flag indicating if the credit limit of the corresponding account \nis included in the calculation of the balance, where applicable.\n","type":"boolean"},"lastChangeDateTime":{"description":"This data element might be used to indicate e.g. with the expected or booked balance that no action is known \non the account, which is not yet booked.\n","format":"date-time","type":"string"},"referenceDate":{"description":"Indicates the date of the balance.","format":"date","type":"string"},"lastCommittedTransaction":{"description":"\"entryReference\" of the last committed transaction to support the TPP in identifying whether all \nPSU transactions are already known.\n","maxLength":35,"type":"string"}},"type":"object","required":["balanceAmount","balanceType"]},"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"},"balanceType":{"description":"The following balance types are defined:\n  - \"closingBooked\": \n    Balance of the account at the end of the pre-agreed account reporting period. \n    It is the sum of the opening booked balance at the beginning of the period and all entries booked \n    to the account during the pre-agreed account reporting period.\n\n    For card-accounts, this is composed of\n\n      - invoiced, but not yet paid entries\n\n  - \"expected\":\n    Balance composed of booked entries and pending items known at the time of calculation, \n    which projects the end of day balance if everything is booked on the account and no other entry is posted.\n\n    For card accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries and\n      - pending items (not yet booked)\n\n    For card-accounts:\n\n    \"money to spend with the value of a pre-approved credit limit on the card account\"\n\n  - \"openingBooked\":\n    Book balance of the account at the beginning of the account reporting period. \n    It always equals the closing book balance from the previous report.\n  - \"interimAvailable\":\n    Available balance calculated in the course of the account ?servicer?s business day, \n    at the time specified, and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation \n    time/period specified.\n\n    For card-accounts, this is composed of:\n      - invoiced, but not yet paid entries\n      - not yet invoiced but already booked entries\n  - \"interimBooked\":\n    Balance calculated in the course of the account servicer's business day, at the time specified, \n    and subject to further changes during the business day. \n    The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period \n    specified.\n  - \"forwardAvailable\":\n    Forward available balance of money that is at the disposal of the account owner on the date specified.\n  - \"nonInvoiced\": \n    Only for card accounts, to be checked yet.\n","type":"string","enum":["closingBooked","expected","openingBooked","interimAvailable","interimBooked","forwardAvailable","nonInvoiced"]},"_linksAccountDetails":{"description":"Links to the account, which can be directly used for retrieving account information from this dedicated account.\n\nLinks to \"balances\" and/or \"transactions\"\n\nThese links are only supported, when the corresponding consent has been already granted.\n","properties":{"balances":{"$ref":"#/components/schemas/hrefType"},"transactions":{"$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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage400_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400_AIS"},"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_AIS":{"description":"Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST).","type":"string","enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","SESSIONS_NOT_SUPPORTED"]},"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_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 400 for AIS.\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_AIS"},"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_AIS"}},"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_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage401_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode401_AIS":{"description":"Message codes defined for AIS 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"]},"Error401_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 401 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error403_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage403_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode403_AIS":{"description":"Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN).","type":"string","enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED"]},"Error403_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 403 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error404_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage404_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode404_AIS":{"description":"Message codes defined for AIS for HTTP Error code 404 (NOT FOUND).","type":"string","enum":["RESOURCE_UNKNOWN"]},"Error404_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 404 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error405_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage405_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode405_AIS":{"description":"Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED).","type":"string","enum":["SERVICE_INVALID"]},"Error405_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 405 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error406_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage406_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage406_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode406_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode406_AIS":{"description":"Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).","type":"string","enum":["REQUESTED_FORMATS_INVALID"]},"Error406_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 406 for AIS.\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/MessageCode406_AIS"},"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/MessageCode406_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error409_NG_AIS":{"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_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage409_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode409_AIS":{"description":"Message codes defined for AIS for HTTP Error code 409 (CONFLICT).","type":"string","enum":["STATUS_INVALID"]},"Error409_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 409 for AIS.\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_AIS"},"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_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]},"Error429_NG_AIS":{"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429.\n","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/tppMessage429_AIS"}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object"},"tppMessage429_AIS":{"properties":{"category":{"$ref":"#/components/schemas/tppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"},"path":{"type":"string"},"text":{"$ref":"#/components/schemas/tppMessageText"}},"type":"object","required":["category","code"]},"MessageCode429_AIS":{"description":"Message codes for HTTP Error code 429 (TOO MANY REQUESTS).","type":"string","enum":["ACCESS_EXCEEDED"]},"Error429_AIS":{"description":"Standardised definition of reporting error information according to [RFC7807] \nin case of a HTTP error code 429 for AIS.\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/MessageCode429_AIS"},"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] \nin case of a HTTP error code 429 for.\n","properties":{"title":{"$ref":"#/components/schemas/tppErrorTitle"},"detail":{"$ref":"#/components/schemas/tppErrorDetail"},"code":{"$ref":"#/components/schemas/MessageCode429_AIS"}},"type":"object","required":["code"]}},"_links":{"$ref":"#/components/schemas/_linksAll"}},"type":"object","required":["type","code"]}},"responses":{"OK_200_AccountList":{"description":"OK. In case, no account is accessible, the ASPSP shall return an empty array. As this is also considered a positive response, the Response code must still be 200.","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/accountList"}}}},"REQUEST_TIMEOUT_408_AIS":{"description":"Request Timeout","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"CONFLICT_409_AIS":{"description":"Conflict","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409_NG_AIS"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error409_AIS"}}}},"INTERNAL_SERVER_ERROR_500_AIS":{"description":"Internal Server Error","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}},"SERVICE_UNAVAILABLE_503_AIS":{"description":"Service Unavailable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}}}},"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}/accounts":{"get":{"tags":["accounts"],"summary":"Read account list","description":"Read the identifiers of the available payment account together with \nbooking balance information, depending on the consent granted.\n\nIt is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. \nThe addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, \nrespectively the OAuth2 access token. \n\nReturns all identifiers of the accounts, to which an account access has been granted to through \nthe /consents endpoint by the PSU. \nIn addition, relevant information about the accounts and hyperlinks to corresponding account \ninformation resources are provided if a related consent has been already granted.\n\nRemark: Note that the /consents endpoint optionally offers to grant an access on all available \npayment accounts of a PSU. \nIn this case, this endpoint will deliver the information about all available payment accounts \nof the PSU at this ASPSP.\n","operationId":"getAccountList","parameters":[{"$ref":"#/components/parameters/withBalanceQuery"},{"$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/consentId_HEADER_mandatory"},{"$ref":"#/components/parameters/PSU-IP-Address_conditionalForAis"},{"$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_AccountList"},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"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_AIS"},{"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_AIS"}}}},"406":{"description":"Not Acceptable","headers":{"Location":{"$ref":"#/components/headers/Location"},"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error406_NG_AIS"},{"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"}]}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error406_AIS"}}}},"408":{"$ref":"#/components/responses/REQUEST_TIMEOUT_408_AIS"},"409":{"$ref":"#/components/responses/CONFLICT_409_AIS"},"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":{"oneOf":[{"$ref":"#/components/schemas/Error429_NG_AIS"},{"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/Error429_AIS"}}}},"500":{"$ref":"#/components/responses/INTERNAL_SERVER_ERROR_500_AIS"},"503":{"$ref":"#/components/responses/SERVICE_UNAVAILABLE_503_AIS"}}}}}}
```


---

# 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/accounts.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.
