--- swagger: "2.0" info: version: 4.0.13 title: Card Accounts x-ibm-name: sibs-psd2-card-accounts-api description: Card Account Information API enables the access to account identification data, account balances and account transactions history. With this type of information you may provide to your users an aggregated view of his available balance, incomes and spending. Based on the transactions history you may understand the spending behaviour of your users, both private and corporate, predict overdrafts and warn or offer them a credit line from your partner credit institutions, reconcile invoices with payments for corporates, alert for the possibility of fraud when abnormal spends occur, etc. This API intends to provide an interface to access PSD2 Account Information Services. The API is designed on a REST model using JSON structures. contact: name: "" url: "" license: name: "" url: "" basePath: / schemes: - https produces: - application/json consumes: - application/json paths: /{aspsp-cde}/v1-0-4/card-accounts: get: operationId: readCardAccountList tags: - Read Card Account List summary: Read Card Account List description: Reads a list of card accounts with additional information, e.g. balance information. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed list of card accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token. parameters: - $ref: '#/parameters/aspsp-cde' - $ref: '#/parameters/X-Request-ID' - $ref: '#/parameters/Consent-ID' - $ref: '#/parameters/PSU-IP-Address' - $ref: '#/parameters/PSU-IP-Port' - $ref: '#/parameters/PSU-Accept' - $ref: '#/parameters/PSU-Accept-Charset' - $ref: '#/parameters/PSU-Accept-Encoding' - $ref: '#/parameters/PSU-Accept-Language' - $ref: '#/parameters/PSU-Http-Method' - $ref: '#/parameters/PSU-Device-ID' - $ref: '#/parameters/PSU-User-Agent' - $ref: '#/parameters/PSU-Geo-Location' - $ref: '#/parameters/Signature' - $ref: '#/parameters/TPP-Signature-Certificate' - $ref: '#/parameters/Date' responses: 200: description: OK headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/CardAccountsResponse' 400: description: Bad Request. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 401: description: Unauthorized. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 403: description: Forbidden. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 404: description: Not Found. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 405: description: Method Not Allowed. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 406: description: Not Acceptable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 408: description: Request Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 415: description: Unsupported Media Type. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 429: description: Too Many Requests. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 500: description: Internal Server Error. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 503: description: Service Unavailable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 504: description: Gatewaty Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' /{aspsp-cde}/v1-0-4/card-accounts/{account-id}: get: operationId: readCardAccountDetails tags: - Read Card Account Details summary: Read Card Account Details description: Request 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. parameters: - $ref: '#/parameters/aspsp-cde' - $ref: '#/parameters/account-id' - $ref: '#/parameters/X-Request-ID' - $ref: '#/parameters/Consent-ID' - $ref: '#/parameters/PSU-IP-Address' - $ref: '#/parameters/PSU-IP-Port' - $ref: '#/parameters/PSU-Accept' - $ref: '#/parameters/PSU-Accept-Charset' - $ref: '#/parameters/PSU-Accept-Encoding' - $ref: '#/parameters/PSU-Accept-Language' - $ref: '#/parameters/PSU-Http-Method' - $ref: '#/parameters/PSU-Device-ID' - $ref: '#/parameters/PSU-User-Agent' - $ref: '#/parameters/PSU-Geo-Location' - $ref: '#/parameters/Signature' - $ref: '#/parameters/TPP-Signature-Certificate' - $ref: '#/parameters/Date' responses: 200: description: OK headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/CardAccountDetailResponse' 400: description: Bad Request. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 401: description: Unauthorized. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 403: description: Forbidden. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 404: description: Not Found. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 405: description: Method Not Allowed. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 406: description: Not Acceptable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 408: description: Request Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 415: description: Unsupported Media Type. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 429: description: Too Many Requests. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 500: description: Internal Server Error. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 503: description: Service Unavailable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 504: description: Gatewaty Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' /{aspsp-cde}/v1-0-4/card-accounts/{account-id}/balances: get: operationId: readCardAccountBalance tags: - Read Card Account Balance summary: Read Card Account Balance description: Request balance data from a given card account addressed by "account-id". parameters: - $ref: '#/parameters/aspsp-cde' - $ref: '#/parameters/account-id' - $ref: '#/parameters/X-Request-ID' - $ref: '#/parameters/Consent-ID' - $ref: '#/parameters/PSU-IP-Address' - $ref: '#/parameters/PSU-IP-Port' - $ref: '#/parameters/PSU-Accept' - $ref: '#/parameters/PSU-Accept-Charset' - $ref: '#/parameters/PSU-Accept-Encoding' - $ref: '#/parameters/PSU-Accept-Language' - $ref: '#/parameters/PSU-Http-Method' - $ref: '#/parameters/PSU-Device-ID' - $ref: '#/parameters/PSU-User-Agent' - $ref: '#/parameters/PSU-Geo-Location' - $ref: '#/parameters/Signature' - $ref: '#/parameters/TPP-Signature-Certificate' - $ref: '#/parameters/Date' responses: 200: description: OK headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/CardAccountBalancesResponse' 400: description: Bad Request. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 401: description: Unauthorized. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 403: description: Forbidden. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 404: description: Not Found. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 405: description: Method Not Allowed. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 406: description: Not Acceptable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 408: description: Request Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 415: description: Unsupported Media Type. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 429: description: Too Many Requests. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 500: description: Internal Server Error. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 503: description: Service Unavailable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 504: description: Gatewaty Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' /{aspsp-cde}/v1-0-4/card-accounts/{account-id}/transactions: get: operationId: readCardAccountTrscList tags: - Read Card Account Transaction List summary: Read Card Account Transaction List description: 'Reads account 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' parameters: - $ref: '#/parameters/aspsp-cde' - $ref: '#/parameters/account-id' - $ref: '#/parameters/dateFrom' - $ref: '#/parameters/dateTo' - $ref: '#/parameters/bookingStatus' - $ref: '#/parameters/deltaList' - $ref: '#/parameters/X-Request-ID' - $ref: '#/parameters/Consent-ID' - $ref: '#/parameters/PSU-IP-Address' - $ref: '#/parameters/PSU-IP-Port' - $ref: '#/parameters/PSU-Accept' - $ref: '#/parameters/PSU-Accept-Charset' - $ref: '#/parameters/PSU-Accept-Encoding' - $ref: '#/parameters/PSU-Accept-Language' - $ref: '#/parameters/PSU-Http-Method' - $ref: '#/parameters/PSU-Device-ID' - $ref: '#/parameters/PSU-User-Agent' - $ref: '#/parameters/PSU-Geo-Location' - $ref: '#/parameters/Signature' - $ref: '#/parameters/TPP-Signature-Certificate' - $ref: '#/parameters/Date' responses: 200: description: OK headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/CardAccountTransactionResponse' 400: description: Bad Request. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 401: description: Unauthorized. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 403: description: Forbidden. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 404: description: Not Found. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 405: description: Method Not Allowed. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 406: description: Not Acceptable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 408: description: Request Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 415: description: Unsupported Media Type. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 429: description: Too Many Requests. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 500: description: Internal Server Error. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 503: description: Service Unavailable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 504: description: Gatewaty Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' definitions: CardAccountBalancesResponse: type: object properties: cardAccount: description: Identifier of the addressed card account. $ref: '#/definitions/AccountReference' balances: $ref: '#/definitions/BalanceArray' description: A list of balances regarding this account. additionalProperties: false description: Reads account data (balances) from a given account addressed by “account-id”. CardAccountDetail: description: detailed account information. type: object required: - maskedPan - currency properties: resourceId: description: This is the data element to be used in the path when retrieving data from a dedicated account, cp. This shall be filled, if addressable resource are created by the ASPSP on the /card-accounts endpoint. type: string default: "" maskedPan: description: Primary Account Number (PAN) of the main card in masked form. This data element can be used in the body of the Consent Request Message for retrieving account access consent from this card. type: string maxLength: 35 default: "" currency: description: ISO 4217 Alpha 3 currency code. type: string default: "" ownerName: description: Name of the legal account owner. If there is more than one owner, then e.g. two names might be noted here. \n For a corporate account, the corporate name is used for this attribute. \n Even 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. type: string maxLength: 140 default: "" name: description: Name of the account, as assigned by the ASPSP, in agreement with the account owner in order to provide an additional means of identification of the account. type: string maxLength: 35 default: "" displayName: description: This data element can be used in the body of the Consent Request Message for retrieving account access consent from this account. This data elements is used for payment accounts which have no IBAN type: string maxLength: 70 default: "" product: description: Product Name of the Bank for this account, proprietary definition type: string maxLength: 70 default: "" status: 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 \n If this field is not used, than the account is available in the sense of this specification' type: string enum: - enabled - deleted - blocked default: enabled usage: description: 'Specifies the usage of the account \n - PRIV: private personal account \n - ORGA: professional account' type: string maxLength: 4 enum: - PRIV - ORGA default: PRIV details: description: Specifications that might be provided by the ASPSP \n - characteristics of the account \n - characteristics of the relevant card type: string maxLength: 500 default: "" creditLimit: description: Defines the credit limit of the PSU aggregated for all cards related to this card account in total. $ref: '#/definitions/Amount' balances: description: Account balances. items: $ref: '#/definitions/Balance' $ref: '#/definitions/BalanceArray' _links: description: Links to the cardAccount, which can be directly used for retrieving account information from this dedicated account. \n Links to "balances" and/or "cardTransactions" \n These links are only supported, when the corresponding consent has been already granted. $ref: '#/definitions/CardAccountLink' additionalProperties: false CardAccountDetailResponse: description: Reads details about an account, with balances where required. type: object properties: cardAccount: $ref: '#/definitions/CardAccountDetail' description: Properties of an Account. additionalProperties: false CardAccountLink: description: Links to the account, which can be directly used for retrieving account information from this dedicated account. \n Links to “balances” and/or “transactions”. \n These links are only supported, when the corresponding consent has been already granted. type: object properties: balances: description: A link to the resource providing the balance of a dedicated account. type: string default: "" transactions: type: string description: A link to the resource providing the transactions of a dedicated account. default: "" additionalProperties: false AccountReference: description: Identifier of the addressed account. type: object properties: iban: description: International Bank Account Number. type: string pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ default: PT0000 bban: description: This data elements is used for payment accounts which have no IBAN. type: string default: "" pan: description: Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements. type: string maxLength: 35 pattern: ^[0-9]{1,28}$ default: "1111111111111111111111111111" maskedPan: description: Primary Account Number in a masked form. type: string maxLength: 35 pattern: ^[0-9]{6,6}([^\d]{6,18})[0-9]{4,4}$ default: 111111******************1111 msisdn: description: An alias to access a payment account via a registered mobile phone number type: string maxLength: 35 default: "" currency: description: ISO 4217 Alpha 3 currency code. type: string default: "" additionalProperties: false CardAccountReport: description: JSON based account report. type: object properties: booked: description: Account booked transactions report. type: array items: $ref: '#/definitions/Transaction' pending: description: Account pending transactions report. type: array items: $ref: '#/definitions/Transaction' _links: $ref: '#/definitions/CardAccountReportLink' description: 'A list of hyperlinks to be recognised by the TPP. \n Type of links admitted in this response: \n "download": a link to a resource, where the transaction report might be downloaded from in case where transaction reports have a huge size.' additionalProperties: false CardAccountReportLink: description: A list of hyperlinks to be recognised by the TPP. type: object properties: cardAccount: description: Card Account (mandatory when providing transaction reports on card reconciliation accounts under /card-accounts) type: string default: "" card: description: Card (mandatory when providing transaction reports on single card entry level under /cards) type: string default: "" first: description: Navigation link for paginated account reports. type: string default: "" next: description: Navigation link for paginated account reports. type: string default: "" previous: description: Navigation link for paginated account reports. type: string default: "" last: description: Navigation link for paginated account reports. type: string default: "" additionalProperties: false CardAccountsResponse: description: "" type: object properties: cardAccounts: items: description: detailed account information. $ref: '#/definitions/CardAccountDetail' description: List of detailed account information. $ref: '#/definitions/CardAccountDetailArray' additionalProperties: false CardAccountTransactionResponse: description: 'Identifier of the addressed card account. \n Remark for Future: It is recommended to use this data element. The condition might change to "mandatory" in a next version of the specification.' type: object properties: cardAccount: description: 'Identifier of the addressed card account. \n Remark for Future: It is recommended to use this data element. The condition might change to "mandatory" in a next version of the specification.' $ref: '#/definitions/AccountReference' cardTransactions: description: JSON based account report. $ref: '#/definitions/CardAccountReport' balances: $ref: '#/definitions/BalanceArray' description: The specific card account balances associated to this card accounts. _links: description: Report of Account Transactions. $ref: '#/definitions/TransactionLink' additionalProperties: false Address: description: Address type: object required: - country properties: street: description: Street type: string maxLength: 70 default: "" buildingNumber: description: Building Number type: string default: "" city: description: City type: string default: "" postalCode: description: Postal Code type: string default: "" country: description: Country type: string default: "" additionalProperties: false Amount: description: Transaction Instructed Amount. type: object required: - currency - amount properties: currency: description: ISO 4217 Alpha 3 currency code. type: string pattern: ^[A-Z]{3,3}$ default: AAA amount: description: | The amount given with fractional digits, where fractions must be compliant to the currency definition. The decimal separator is a dot. type: string pattern: ^\-{0,1}[0-9]{1,9}(\.[0-9]{0,2}){0,1}$ default: "0" additionalProperties: false ReportExchangeRate: description: For card accounts, this often is restricted by the ASPSP to use only one exchange rate. type: object required: - sourceCurrency - exchangeRate - unitCurrency - targetCurrency - quotationDate properties: sourceCurrency: description: Currency from which an amount is to be converted in a currency conversion. type: string pattern: ^[A-Z]{3,3}$ exchangeRate: description: Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. type: string pattern: ^[A-Z]{3,3}$ unitCurrency: description: Currency in which the rate of exchange is expressed in a currency exchange. In the example 1EUR = xxxCUR, the unit currency is EUR. type: string pattern: ^[A-Z]{3,3}$ targetCurrency: description: Currency into which an amount is to be converted in a currency conversion. type: string pattern: ^[A-Z]{3,3}$ quotationDate: description: Date at which an exchange rate is quoted. type: string format: date default: "1900-01-01" contractIdentification: description: Unique identification to unambiguously identify the foreign exchange contract. type: string additionalProperties: false CardAccountDetailArray: description: List of detailed account information. type: array items: $ref: '#/definitions/CardAccountDetail' description: Card Account Properties additionalProperties: false Balance: description: A balance regarding an account. type: object required: - balanceAmount - balanceType properties: balanceAmount: description: Balance Amount. $ref: '#/definitions/Amount' balanceType: description: "Balance Type: \n - closingBooked: Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period.For card-accounts, this is composed of invoiced, but not yet paid entries \n - expected: Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted.For card accounts, this is composed of invoiced, but not yet paid entries,  not yet invoiced but already booked entries and  pending items (not yet booked) \n - openingBooked: Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report. \n - interimAvailable: Available balance calculated in the course of the account ’servicer’s business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified. For card-accounts, this is composed of invoiced, but not yet paid entries, not yet invoiced but already booked entries \n - interimBooked: Balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified. \n - forwardAvailable: Forward available balance of money that is at the disposal of the account owner on the date specified. \n - nonInvoiced: Only for card accounts, to be defined yet." type: string enum: - closingBooked - expected - openingBooked - interimAvailable - interimBooked - forwardAvailable - nonInvoiced creditLimitIncluded: description: A flag indicating if the credit limit of the corresponding account is included in the calculation of the balance, where applicable. 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 on the account, which is not yet booked. type: string format: date-time default: "1900-01-01T00:00:00Z" referenceDate: description: Indicates the date of the balance. type: string format: date default: "1900-01-01" lastCommittedTransaction: description: entryReference of the last commited transaction to support the TPP in identifying whether all PSU transactions are already known. type: string maxLength: 35 additionalProperties: false BalanceArray: description: A list of balances regarding an account. type: array items: $ref: '#/definitions/Balance' description: Single Balance additionalProperties: false ErrorMessage: description: Error Information. type: object properties: tppMessages: $ref: '#/definitions/TppMessageArray' description: Messages to the TPP on operational issues. additionalProperties: false ErrorMessageWithStatus: description: Error and status Information. type: object properties: transactionStatus: $ref: '#/definitions/TransactionStatusType' description: The transaction status is filled with codes of the ISO 20022 corresponding element. tppMessages: $ref: '#/definitions/TppMessageArray' description: Messages to the TPP on operational issues. additionalProperties: false MessageCode: description: Message error codes. type: string enum: - SERVICE_BLOCKED - CORPORATE_ID_IVALID - CONSENT_UNKNOWN - CONSENT_INVALID - CONSENT_EXPIRED - RESOURCE_UNIKNOWN - RESOURCE_EXPIRED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKKNOWN - TRANSACTION_ID_INVALID - PRODUCT_INVALID - PRODUCT_UNKNOWN - PAYMENT_FAILED - REQUIRED_KID_MISSING - SESSIONS_NOT_SUPPORTED - ACCESS_EXCEEDED - REQUESTED_FORMATS_INVALID - CARD_INVALID - NO_PIIS_ACTIVATION default: SERVICE_BLOCKED additionalProperties: false TppMessage: required: - category - code description: Transports additional error information. properties: category: type: string default: "" description: Category of the error. Only "ERROR" or "WARNING" permitted. code: $ref: '#/definitions/MessageCode' description: Message error code. path: type: string default: "" description: Path of the element of the request message which provoked this error message. text: type: string maxLength: 512 default: "" description: Additional explaining text. additionalProperties: false TppMessageArray: type: array description: Messages to the TPP on operational issues. items: $ref: '#/definitions/TppMessage' description: Transports additional error information. additionalProperties: false Transaction: type: object required: - transactionAmount description: Transaction Instructed Amount. properties: cardTransactionId: description: Unique end to end identity. type: string maxLength: 35 default: "" terminalId: description: Identification of the Terminal, where the card has been used. type: string maxLength: 35 default: "" transactionDate: description: date of the actual card transaction type: string format: date default: "1900-01-01" acceptorTransactionDateTime: description: booking date of the related booking on the card account type: string format: date-time default: "1900-01-01T00:00:00Z" transactionAmount: description: The amount of the transaction as billed to the card account. $ref: '#/definitions/Amount' originalAmount: description: Original amount of the transaction at the Point of Interaction in orginal currency $ref: '#/definitions/Amount' markupFee: description: Any fee related to the transaction in billing currency. $ref: '#/definitions/Amount' markupFeePercentage: description: Percentage of the involved transaction fee in relation to the billing amount, e.g. "0.3" for 0,3% type: string cardAcceptorId: description: Identification of the Card Acceptor (e.g. merchant) as given in the related card transaction. type: string maxLength: 35 cardAcceptorAddress: description: Address of the Card Acceptor as given in the related card transaction. $ref: '#/definitions/Address' cardAcceptorPhone: description: Merchant phone number type: string merchantCategoryCode: description: Merchant Category Code of the Card Acceptor as given in the related card transaction. Category code conform to ISO 18245 type: string pattern: ^\d{4,4}$ default: "9999" maskedPan: description: The masked PAN of the card used in the transaction. type: string maxLength: 35 transactionDetails: description: Additional details given for the related card transactions. type: string maxLength: 140 invoiced: description: Flag indicating whether the underlying card transaction is already invoiced. type: boolean proprietaryBankTransactionCode: description: proprietary bank transaction code as used within a community or within an ASPSP e.g. for MT94x based transaction reports type: string maxLength: 35 additionalProperties: false TransactionLink: description: List of Transaction Report Links type: object properties: download: description: | Download link for huge AIS data packages. type: string default: "" additionalProperties: false TransactionStatusType: description: |- ISO20022: The transaction status is filled with value of the ISO20022 data table. RCVD : RECEIVED PDNG : PENDING PATC : PARTIALLY ACCEPTED TECHNICAL CORRECT ACTC : ACCEPTED TECHNICAL VALIDATION RJCT : REJECTED type: string enum: - RCVD - PDNG - PATC - ACTC - RJCT default: RJCT additionalProperties: false parameters: aspsp-cde: name: aspsp-cde in: path description: Identification of the aspsp required: true type: string account-id: name: account-id in: path description: Identification of the account. required: true type: string dateFrom: name: dateFrom in: query description: | Starting date of the transaction list, mandated if no delta access is required required: true type: string format: date default: "1900-01-01" dateTo: name: dateTo in: query description: | End date of the transaction list, default is now if not given. required: false type: string format: date default: "1900-01-01" bookingStatus: name: bookingStatus in: query description: Permitted codes are "booked", "pending", "both", "information" and "all". \n "booked" shall be supported by the ASPSP. \n To support the "pending" and "both" feature is optional for the ASPSP, Error code if not supported in the online banking frontend. If supported, "both" means to request transaction reports of transaction of bookingStatus either "pending" or "booked". \n To support the "information" feature is optional for the ASPSP. Currently the booking status “information” only covers standing orders. Error code if not supported. \n To support the "all" feature is optional for the ASPSP, Error code if not supported. If supported, "all" means to request transaction reports of transaction of any bookingStatus ("pending", "booked" or "information"). required: true type: string enum: - booked - pending - both - information - all default: both deltaList: name: deltaList in: query 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. This delta indicator might be rejected by the ASPSP if this function is not supported. type: boolean default: false Consent-ID: name: Consent-ID in: header description: Shall be contained since “Establish Consent Transaction” was performed via this API before. required: true type: string default: "" X-Request-ID: name: X-Request-ID in: header description: 'ID of the transaction as determined by the initiating party. ' required: true type: string format: uuid default: "" PSU-IP-Address: name: PSU-IP-Address in: header description: The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. required: false type: string default: "" PSU-IP-Port: name: PSU-IP-Port in: header description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. required: false type: string default: "" PSU-Accept: name: PSU-Accept in: header description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. required: false type: string default: "" PSU-Accept-Charset: name: PSU-Accept-Charset in: header description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. required: false type: string default: "" PSU-Accept-Encoding: name: PSU-Accept-Encoding in: header description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. required: false type: string default: "" PSU-Accept-Language: name: PSU-Accept-Language in: header description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. required: false type: string default: "" PSU-Http-Method: name: PSU-Http-Method in: header description: 'HTTP method used at the PSU – TPP interface, if available. \n Valid values are: \n - GET \n - POST \n - PUT \n - PATCH \n - DELETE' required: false type: string enum: - GET - POST - PUT - PATCH - DELETE default: GET PSU-Device-ID: name: PSU-Device-ID in: header description: UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. required: false type: string format: uuid default: "" PSU-User-Agent: name: PSU-User-Agent in: header description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. required: false type: string default: "" PSU-Geo-Location: name: PSU-Geo-Location in: header description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available. required: false type: string default: "" TPP-Signature-Certificate: name: TPP-Signature-Certificate in: header description: The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. required: false type: string default: "" Signature: name: Signature in: header description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. required: true type: string default: "" Date: name: Date in: header description: Request date required: true type: string format: date-time x-ibm-configuration: enforced: true testable: true phase: realized securityDefinitions: x-ibm-client-id: type: apiKey description: "" in: header name: X-IBM-Client-Id security: - x-ibm-client-id: [] x-ibm-endpoints: - endpointUrl: https://site1.sibsapimarket.com/sibs/apimarket type: - production - endpointUrl: https://site1.sibsapimarket.com:8444/sibs/apimarket type: - development - endpointUrl: https://site2.sibsapimarket.com:8444/sibs/apimarket type: - development - endpointUrl: https://site2.sibsapimarket.com/sibs/apimarket type: - production ...