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

# Card Accounts

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

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

## Read card account balances

> Reads balance data from a given card account addressed by \
> "account-id". \
> \
> Remark: This account-id can be a tokenised identification due \
> to data protection reason since the path information might be \
> logged on intermediary servers within the ASPSP sphere. \
> This account-id then can be retrieved by the \
> "Get card account list" call.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"card-accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given card account including balances if applicable\n  * Balances of a given card account\n  * A list of available card account\n  * Account details of a given card account or of the list of all accessible 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"},"readCardAccountBalanceResponse-200":{"description":"Body of the response for a successful read balance for a card account request.","properties":{"cardAccount":{"$ref":"#/components/schemas/accountReference"},"debitAccounting":{"$ref":"#/components/schemas/debitAccounting"},"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"},"debitAccounting":{"description":"If true, the amounts of debits on the reports are quoted positive with the related consequence for balances.\nIf false, the amount of debits on the reports are quoted negative.\n","type":"boolean"},"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_CardAccountBalances":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/readCardAccountBalanceResponse-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}/card-accounts/{account-id}/balances":{"get":{"tags":["card-accounts"],"summary":"Read card account balances","description":"Reads balance data from a given card account addressed by \n\"account-id\". \n\nRemark: This account-id can be a tokenised identification due \nto data protection reason since the path information might be \nlogged on intermediary servers within the ASPSP sphere. \nThis account-id then can be retrieved by the \n\"Get card account list\" call.\n","operationId":"getCardAccountBalances","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_CardAccountBalances"},"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 details about a card account

> Reads details about a card account. \
> It is assumed that a consent of the PSU to this access is already given \
> and stored on the ASPSP system. The addressed details of this account depends \
> then on the stored consent addressed by consentId, respectively the OAuth2 \
> access token.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"card-accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given card account including balances if applicable\n  * Balances of a given card account\n  * A list of available card account\n  * Account details of a given card account or of the list of all accessible 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"},"cardAccountDetails":{"description":"Card account details.\n","properties":{"resourceId":{"description":"This is the data element to be used in the path when retrieving data from a dedicated account.\nThis shall be filled, if addressable resource are created by the ASPSP on the /card-accounts endpoint.\n","type":"string"},"maskedPan":{"$ref":"#/components/schemas/maskedPan"},"currency":{"$ref":"#/components/schemas/currencyCode"},"ownerName":{"$ref":"#/components/schemas/ownerName"},"name":{"description":"Name of the account, as assigned by the ASPSP, \nin agreement with the account owner in order to provide an additional means of identification of the account.\n","maxLength":70,"type":"string"},"displayName":{"$ref":"#/components/schemas/displayName"},"product":{"description":"Product Name of the Bank for this account, proprietary definition.\n","maxLength":35,"type":"string"},"debitAccounting":{"$ref":"#/components/schemas/debitAccounting"},"status":{"$ref":"#/components/schemas/accountStatus"},"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":1000,"type":"string"},"creditLimit":{"$ref":"#/components/schemas/amount"},"balances":{"$ref":"#/components/schemas/balanceList"},"_links":{"$ref":"#/components/schemas/_linksAccountDetails"}},"type":"object","required":["maskedPan","currency"]},"maskedPan":{"description":"Masked Primary Account Number.\n","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"},"displayName":{"description":"Name of the account as defined by the PSU within online channels.\n","maxLength":70,"type":"string"},"debitAccounting":{"description":"If true, the amounts of debits on the reports are quoted positive with the related consequence for balances.\nIf false, the amount of debits on the reports are quoted negative.\n","type":"boolean"},"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"]},"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"},"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"]},"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_CardAccountDetails":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"properties":{"cardAccount":{"$ref":"#/components/schemas/cardAccountDetails"}},"type":"object","required":["cardAccount"]}}}},"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}/card-accounts/{account-id}":{"get":{"tags":["card-accounts"],"summary":"Read details about a card account","description":"Reads details about a card account. \nIt is assumed that a consent of the PSU to this access is already given \nand stored on the ASPSP system. The addressed details of this account depends \nthen on the stored consent addressed by consentId, respectively the OAuth2 \naccess token.\n","operationId":"readCardAccountDetails","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_CardAccountDetails"},"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 a list of card accounts

> Reads a list of card accounts with additional information, e.g. balance information. \
> It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. \
> The addressed list of card accounts depends then on the PSU ID and the stored consent addressed by consentId, \
> respectively the OAuth2 access token.<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"card-accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given card account including balances if applicable\n  * Balances of a given card account\n  * A list of available card account\n  * Account details of a given card account or of the list of all accessible 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":{"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"},"cardAccountList":{"description":"List of card accounts with details.\n","properties":{"cardAccounts":{"type":"array","items":{"$ref":"#/components/schemas/cardAccountDetails"}}},"type":"object","required":["cardAccounts"]},"cardAccountDetails":{"description":"Card account details.\n","properties":{"resourceId":{"description":"This is the data element to be used in the path when retrieving data from a dedicated account.\nThis shall be filled, if addressable resource are created by the ASPSP on the /card-accounts endpoint.\n","type":"string"},"maskedPan":{"$ref":"#/components/schemas/maskedPan"},"currency":{"$ref":"#/components/schemas/currencyCode"},"ownerName":{"$ref":"#/components/schemas/ownerName"},"name":{"description":"Name of the account, as assigned by the ASPSP, \nin agreement with the account owner in order to provide an additional means of identification of the account.\n","maxLength":70,"type":"string"},"displayName":{"$ref":"#/components/schemas/displayName"},"product":{"description":"Product Name of the Bank for this account, proprietary definition.\n","maxLength":35,"type":"string"},"debitAccounting":{"$ref":"#/components/schemas/debitAccounting"},"status":{"$ref":"#/components/schemas/accountStatus"},"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":1000,"type":"string"},"creditLimit":{"$ref":"#/components/schemas/amount"},"balances":{"$ref":"#/components/schemas/balanceList"},"_links":{"$ref":"#/components/schemas/_linksAccountDetails"}},"type":"object","required":["maskedPan","currency"]},"maskedPan":{"description":"Masked Primary Account Number.\n","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"},"displayName":{"description":"Name of the account as defined by the PSU within online channels.\n","maxLength":70,"type":"string"},"debitAccounting":{"description":"If true, the amounts of debits on the reports are quoted positive with the related consequence for balances.\nIf false, the amount of debits on the reports are quoted negative.\n","type":"boolean"},"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"]},"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"},"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"]},"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_CardAccountList":{"description":"OK. In case, no card-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/cardAccountList"}}}},"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}/card-accounts":{"get":{"tags":["card-accounts"],"summary":"Read a list of card accounts","description":"Reads a list of card accounts with additional information, e.g. balance information. \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 card accounts depends then on the PSU ID and the stored consent addressed by consentId, \nrespectively the OAuth2 access token.\n","operationId":"getCardAccountList","parameters":[{"$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_CardAccountList"},"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

> Reads account data from a given card account addressed by "account-id".<br>

```json
{"openapi":"3.0.1","info":{"title":"aggregated-xs2a","version":"1.3.1"},"tags":[{"name":"card-accounts","description":"The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given card account including balances if applicable\n  * Balances of a given card account\n  * A list of available card account\n  * Account details of a given card account or of the list of all accessible 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"},"bookingStatusCard":{"description":"Permitted codes are \n  * \"booked\",\n  * \"pending\",  \n  * \"both\",\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\".\n","required":true,"schema":{"type":"string","enum":["booked","pending","both"]},"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"},"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"},"cardAccountsTransactionsResponse200":{"description":"Body of the JSON response for a successful read card account transaction list request.\nThis card account report contains transactions resulting from the query parameters.\n","properties":{"cardAccount":{"$ref":"#/components/schemas/accountReference"},"debitAccounting":{"$ref":"#/components/schemas/debitAccounting"},"cardTransactions":{"$ref":"#/components/schemas/cardAccountReport"},"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"},"debitAccounting":{"description":"If true, the amounts of debits on the reports are quoted positive with the related consequence for balances.\nIf false, the amount of debits on the reports are quoted negative.\n","type":"boolean"},"cardAccountReport":{"description":"JSON based card account report.\n\nThis card account report contains transactions resulting from the query parameters.\n","properties":{"booked":{"$ref":"#/components/schemas/cardTransactionList"},"pending":{"$ref":"#/components/schemas/cardTransactionList"},"_links":{"$ref":"#/components/schemas/_linksCardAccountReport"}},"type":"object","required":["_links"]},"cardTransactionList":{"description":"Array of transaction details.","type":"array","items":{"$ref":"#/components/schemas/cardTransaction"}},"cardTransaction":{"description":"Card transaction information.","properties":{"cardTransactionId":{"$ref":"#/components/schemas/cardTransactionId"},"terminalId":{"$ref":"#/components/schemas/terminalId"},"transactionDate":{"$ref":"#/components/schemas/transactionDate"},"acceptorTransactionDateTime":{"description":"Timestamp of the actual card transaction within the acceptance system","format":"date-time","type":"string"},"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. For card transactions this is the payment due date of related booked transactions of a card.","format":"date","type":"string"},"transactionAmount":{"$ref":"#/components/schemas/amount"},"grandTotalAmount":{"allOf":[{"$ref":"#/components/schemas/amount"},{"description":"Total amount of the instalment including charges, insurance and taxes in addition to the funded amount.\n"}]},"currencyExchange":{"$ref":"#/components/schemas/reportExchangeRateList"},"originalAmount":{"$ref":"#/components/schemas/amount"},"markupFee":{"$ref":"#/components/schemas/amount"},"markupFeePercentage":{"type":"string"},"cardAcceptorId":{"maxLength":35,"type":"string"},"cardAcceptorAddress":{"$ref":"#/components/schemas/address"},"cardAcceptorPhone":{"$ref":"#/components/schemas/cardAcceptorPhone"},"merchantCategoryCode":{"$ref":"#/components/schemas/merchantCategoryCode"},"maskedPAN":{"$ref":"#/components/schemas/maskedPan"},"transactionDetails":{"maxLength":1000,"type":"string"},"invoiced":{"type":"boolean"},"proprietaryBankTransactionCode":{"$ref":"#/components/schemas/proprietaryBankTransactionCode"}},"type":"object","required":["transactionAmount"]},"cardTransactionId":{"description":"Unique end to end identity.","maxLength":35,"type":"string"},"terminalId":{"description":"Identification of the Terminal, where the card has been used.","maxLength":35,"type":"string"},"transactionDate":{"description":"Date of the actual card transaction.","format":"date","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"]},"address":{"properties":{"streetName":{"maxLength":70,"type":"string"},"buildingNumber":{"type":"string"},"townName":{"type":"string"},"postCode":{"type":"string"},"country":{"$ref":"#/components/schemas/countryCode"}},"type":"object","required":["country"]},"countryCode":{"description":"ISO 3166 ALPHA2 country code.","pattern":"[A-Z]{2}","type":"string"},"cardAcceptorPhone":{"description":"Merchant phone number\nIt consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any\ncombination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\npattern according to ISO20022 \\+[0-9]{1,3}-[0-9()+\\-]{1,30}\n","pattern":"\\+[0-9]{1,3}\\-[0-9()+\\-]{1,30}","type":"string"},"merchantCategoryCode":{"description":"Merchant category code.","maxLength":4,"minLength":4,"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"},"_linksCardAccountReport":{"properties":{"cardAccount":{"$ref":"#/components/schemas/hrefType"},"card":{"$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","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"},"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"]},"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"]},"_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"}},"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_CardAccountsTransactions":{"description":"OK","headers":{"X-Request-ID":{"$ref":"#/components/headers/X-Request-ID"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cardAccountsTransactionsResponse200"}}}},"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}/card-accounts/{account-id}/transactions":{"get":{"tags":["card-accounts"],"summary":"Read transaction list of an account","description":"Reads account data from a given card account addressed by \"account-id\".\n","operationId":"getCardAccountTransactionList","parameters":[{"$ref":"#/components/parameters/accountId"},{"$ref":"#/components/parameters/dateFrom"},{"$ref":"#/components/parameters/dateTo"},{"$ref":"#/components/parameters/entryReferenceFrom"},{"$ref":"#/components/parameters/bookingStatusCard"},{"$ref":"#/components/parameters/deltaList"},{"$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_CardAccountsTransactions"},"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/card-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.
