Tandem Bank Statements API

The Statements API from Tandem Bank — 5 operation(s) for statements.

Operations 5

GET /accounts/{AccountId}/statements Get Statements for an AccountId #
GET /accounts/{AccountId}/statements/{StatementId} Get Statement by StatementId for an AccountId #
GET /accounts/{AccountId}/statements/{StatementId}/file Get Statement file by StatementId for an AccountId #
GET /accounts/{AccountId}/statements/{StatementId}/transactions Get Statement Transactions for an AccountId #
GET /statements Get Statements #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tandem-bank-statements-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tandem-bank-statements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Account and Transaction API Specification Statements API
  description: 'Swagger for Account and Transaction API Specification.


    **Please Note**: There are no optional fields, if a field is not marked as “Required” it is a Conditional field.

    '
  termsOfService: https://www.openbanking.org.uk/terms
  contact:
    name: Service Desk
    email: ServiceDesk@openbanking.org.uk
  license:
    name: open-licence
    url: https://www.openbanking.org.uk/open-licence
  version: 4.0.1
servers:
- url: /open-banking/v4.0/aisp
tags:
- name: Statements
paths:
  /accounts/{AccountId}/statements:
    get:
      tags:
      - Statements
      summary: Get Statements for an AccountId
      description: Enables an AISP to retrieve statement information for a specific PSU account.
      operationId: GetAccountsAccountIdStatements
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/x-customer-user-agent'
      - $ref: '#/components/parameters/FromStatementDateTimeParam'
      - $ref: '#/components/parameters/ToStatementDateTimeParam'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdStatementsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
      - PSUOAuth2Security:
        - accounts
  /accounts/{AccountId}/statements/{StatementId}:
    get:
      tags:
      - Statements
      summary: Get Statement by StatementId for an AccountId
      description: Enables an AISP to retrieve the statement information resource for a specific statement.
      operationId: GetAccountsAccountIdStatementsStatementId
      parameters:
      - $ref: '#/components/parameters/StatementId'
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/x-customer-user-agent'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdStatementsStatementIdRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
      - PSUOAuth2Security:
        - accounts
  /accounts/{AccountId}/statements/{StatementId}/file:
    get:
      tags:
      - Statements
      summary: Get Statement file by StatementId for an AccountId
      description: Enables an AISP to retrieve a non-json representation of a specific statement.
      operationId: GetAccountsAccountIdStatementsStatementIdFile
      parameters:
      - $ref: '#/components/parameters/StatementId'
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/x-customer-user-agent'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdStatementsStatementIdFileRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
      - PSUOAuth2Security:
        - accounts
  /accounts/{AccountId}/statements/{StatementId}/transactions:
    get:
      tags:
      - Statements
      summary: Get Statement Transactions for an AccountId
      description: Enables an AISP to retrieve transactions that appear on a selected statement for a specific PSU account.
      operationId: GetAccountsAccountIdStatementsStatementIdTransactions
      parameters:
      - $ref: '#/components/parameters/StatementId'
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/x-customer-user-agent'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdStatementsStatementIdTransactionsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
      - PSUOAuth2Security:
        - accounts
  /statements:
    get:
      tags:
      - Statements
      summary: Get Statements
      description: Enables an AISP to retrieve statement information for account(s) that the PSU has consented to.
      operationId: GetStatements
      parameters:
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/FromStatementDateTimeParam'
      - $ref: '#/components/parameters/ToStatementDateTimeParam'
      - $ref: '#/components/parameters/x-customer-user-agent'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/200StatementsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
      - PSUOAuth2Security:
        - accounts
components:
  schemas:
    OBReadTransaction6:
      type: object
      required:
      - Data
      properties:
        Data:
          $ref: '#/components/schemas/OBReadDataTransaction6'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    OBInternalStatementInterestType1Code:
      description: Interest amount type, in a coded form. For a full list of values see `OBInternalStatementInterestType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: UK.OBIE.Total
      x-namespaced-enum:
      - UK.OBIE.BalanceTransfer
      - UK.OBIE.Cash
      - UK.OBIE.EstimatedNext
      - UK.OBIE.Purchase
      - UK.OBIE.Total
      - UK.OBIE.InstalmentPlan
      - UK.OBIE.MoneyTransfer
    OBPostalAddress7:
      type: object
      description: Information that locates and identifies a specific address, as defined by postal services.
      properties:
        AddressType:
          $ref: '#/components/schemas/OBAddressType2Code'
        Department:
          description: Identification of a division of a large organisation or building.
          example: Finance
          type: string
          minLength: 1
          maxLength: 70
        SubDepartment:
          description: Identification of a sub-division of a large organisation or building.
          example: Payroll
          type: string
          minLength: 1
          maxLength: 70
        StreetName:
          $ref: '#/components/schemas/StreetName'
        BuildingNumber:
          $ref: '#/components/schemas/BuildingNumber'
        BuildingName:
          $ref: '#/components/schemas/BuildingName'
        Floor:
          $ref: '#/components/schemas/Floor'
        UnitNumber:
          $ref: '#/components/schemas/UnitNumber'
        Room:
          $ref: '#/components/schemas/Room'
        PostBox:
          $ref: '#/components/schemas/PostBox'
        TownLocationName:
          $ref: '#/components/schemas/TownName'
        DistrictName:
          $ref: '#/components/schemas/DistrictName'
        CareOf:
          $ref: '#/components/schemas/CareOf'
        PostCode:
          $ref: '#/components/schemas/PostCode'
        TownName:
          $ref: '#/components/schemas/TownName'
        CountrySubDivision:
          description: Identifies a subdivision of a country such as state, region, county.
          type: string
          minLength: 1
          maxLength: 35
        Country:
          description: Nation with its own government.
          type: string
          pattern: ^[A-Z]{2,2}$
        AddressLine:
          type: array
          items:
            description: Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
            type: string
            minLength: 1
            maxLength: 70
          minItems: 0
          maxItems: 7
    OBCurrencyExchange5:
      type: object
      required:
      - SourceCurrency
      - ExchangeRate
      description: Set of elements used to provide details on the currency exchange.
      properties:
        SourceCurrency:
          description: Currency from which an amount is to be converted in a currency conversion.
          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}$
        UnitCurrency:
          description: Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.
          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.

            Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).'
          type: number
        ContractIdentification:
          description: Unique identification to unambiguously identify the foreign exchange contract.
          type: string
          minLength: 1
          maxLength: 35
        QuotationDate:
          description: "Date and time at which an exchange rate is quoted. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        InstructedAmount:
          type: object
          required:
          - Amount
          - Currency
          description: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
          properties:
            Amount:
              $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
            Currency:
              $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
    OBActiveOrHistoricCurrencyAndAmount_6:
      type: object
      required:
      - Amount
      - Currency
      description: Amount of money associated with the statement fee type.
      properties:
        Amount:
          $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
    OBTransactionCashBalance:
      type: object
      required:
      - CreditDebitIndicator
      - Type
      - Amount
      description: Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account.
      properties:
        CreditDebitIndicator:
          $ref: '#/components/schemas/OBCreditDebitCode_2'
        Type:
          $ref: '#/components/schemas/OBBalanceType1Code'
        Amount:
          type: object
          required:
          - Amount
          - Currency
          description: Amount of money of the cash balance after a transaction entry is applied to the account..
          properties:
            Amount:
              $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
            Currency:
              $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    OBInternalStatementFeeType1Code:
      description: Fee type, in a coded form. For a full list of values see `OBInternalStatementFeeType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: UK.OBIE.Annual
      x-namespaced-enum:
      - UK.OBIE.Annual
      - UK.OBIE.BalanceTransfer
      - UK.OBIE.CashAdvance
      - UK.OBIE.CashTransaction
      - UK.OBIE.ForeignCashTransaction
      - UK.OBIE.ForeignTransaction
      - UK.OBIE.Gambling
      - UK.OBIE.LatePayment
      - UK.OBIE.MoneyTransfer
      - UK.OBIE.Monthly
      - UK.OBIE.Overlimit
      - UK.OBIE.PostalOrder
      - UK.OBIE.PrizeEntry
      - UK.OBIE.StatementCopy
      - UK.OBIE.Total
      - UK.OBIE.InstalmentPlan
      - UK.OBIE.ReturnedPayment
    OBInternalStatementDateTimeType1Code:
      description: Date time type, in a coded form. For a full list of values see `OBInternalStatementDateTimeType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: UK.OBIE.NextStatement
      x-namespaced-enum:
      - UK.OBIE.BalanceTransferPromoEnd
      - UK.OBIE.DirectDebitDue
      - UK.OBIE.LastPayment
      - UK.OBIE.LastStatement
      - UK.OBIE.NextStatement
      - UK.OBIE.PaymentDue
      - UK.OBIE.PurchasePromoEnd
      - UK.OBIE.StatementAvailable
    Identification_2:
      description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
      type: string
      minLength: 1
      maxLength: 35
    OBActiveOrHistoricCurrencyAndAmount_7:
      type: object
      required:
      - Amount
      - Currency
      description: Amount of money associated with the statement interest amount type.
      properties:
        Amount:
          $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
    OBError1:
      type: object
      properties:
        ErrorCode:
          $ref: '#/components/schemas/OBExternalStatusReason1Code'
        Message:
          description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future''

            OBL doesn''t standardise this field'
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
          type: string
      required:
      - ErrorCode
      additionalProperties: false
      minProperties: 1
    LEI:
      description: Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
      type: string
      example: IZ9Q00LZEVUKWCQY6X15
      minLength: 1
      maxLength: 20
      pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
    OBReadStatement2:
      type: object
      required:
      - Data
      properties:
        Data:
          $ref: '#/components/schemas/OBReadDataStatement2'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    DistrictName:
      description: Number that of the regional area, known as a district, which forms part of an address
      type: string
      example: Greater London
      minLength: 1
      maxLength: 140
    ExternalProxyAccountType1Code:
      description: Specifies the external proxy account type code, as published in the proxy account type external code set.<br /> For more information and a full list of values see `ExternalProxyAccountType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: TELE
      enum:
      - TELE
      - EMAL
      - DNAM
      - CINC
      - COTX
      - COID
      - CUST
      - DRLC
      - EIDN
      - EWAL
      - PVTX
      - LEIC
      - MBNO
      - NIDN
      - CCPT
      - SHID
      - SOSE
      - TOKN
      - UBIL
      - VIPN
      - BIID
    OBCashAccount6_1:
      type: object
      description: Unambiguous identification of the account of the debtor, in the case of a credit transaction.
      properties:
        SchemeName:
          $ref: '#/components/schemas/OBInternalAccountIdentification4Code'
        Identification:
          $ref: '#/components/schemas/Identification_0'
        Name:
          $ref: '#/components/schemas/Name_0'
        SecondaryIdentification:
          $ref: '#/components/schemas/SecondaryIdentification'
        Proxy:
          $ref: '#/components/schemas/OBProxy1'
    OBInternalTransactionMutability1Code:
      description: 'Specifies the Mutability of the Transaction record. <br />

        For a full list of enumeration values refer to `OBInternalTransactionMutability1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)'
      type: string
      enum:
      - Mutable
      - Immutable
    OBCreditDebitCode_1:
      description: 'Indicates whether the transaction is a credit or a debit entry. <br />

        <br />

        For a full list of enumeration values refer to `OBInternalCreditDebitCode` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)'
      type: string
      enum:
      - Credit
      - Debit
    OBReadDataStatement2:
      type: object
      properties:
        Statement:
          type: array
          items:
            $ref: '#/components/schemas/OBStatement2'
      additionalProperties: false
    ISODateTime:
      description: "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
      type: string
      format: date-time
    StartDateTime:
      description: "Date and time at which the statement period starts. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
      type: string
      example: '2017-07-12T00:00:00+00:00'
      format: date-time
    Name_0:
      description: 'The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP''s online channels.

        Note, the account name is not the product name or the nickname of the account.'
      type: string
      example: Jane Smith
      minLength: 1
      maxLength: 350
    OBInternalStatementType1Code:
      description: Statement type, in a coded form. For a full list of values see `OBInternalStatementType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: RegularPeriodic
      enum:
      - AccountClosure
      - AccountOpening
      - Annual
      - Interim
      - RegularPeriodic
    CreationDateTime:
      description: "Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
      type: string
      example: '2024-05-29T00:00:00Z'
      format: date-time
    Room:
      description: Information that locates and identifies a room to form part of an address
      type: string
      example: Basement 03
      minLength: 1
      maxLength: 70
    OBBranchAndFinancialInstitutionIdentification6_1:
      type: object
      description: Financial institution servicing an account for the creditor.
      properties:
        SchemeName:
          $ref: '#/components/schemas/OBInternalFinancialInstitutionIdentification4Code'
        Identification:
          $ref: '#/components/schemas/Identification_2'
        Name:
          $ref: '#/components/schemas/Name_1'
        LEI:
          $ref: '#/components/schemas/LEI'
        PostalAddress:
          $ref: '#/components/schemas/OBPostalAddress7'
    StatementId:
      description: Unique identifier for the statement resource within a servicing institution. This identifier is both unique and immutable.
      type: string
      example: 8sfhke-sifhkeuf-97813
      minLength: 1
      maxLength: 40
    OBTransaction6:
      type: object
      description: Provides further details on an entry in the report.
      required:
      - AccountId
      - CreditDebitIndicator
      - Status
      - BookingDateTime
      - Amount
      properties:
        AccountId:
          $ref: '#/components/schemas/AccountId'
        TransactionId:
          $ref: '#/components/schemas/TransactionId'
        TransactionReference:
          $ref: '#/components/schemas/TransactionReference'
        StatementReference:
          type: array
          items:
            $ref: '#/components/schemas/StatementReference'
        CreditDebitIndicator:
          $ref: '#/components/schemas/OBCreditDebitCode_1'
        Status:
          $ref: '#/components/schemas/ExternalEntryStatus1Code'
        TransactionMutability:
          $ref: '#/components/schemas/OBInternalTransactionMutability1Code'
        BookingDateTime:
          $ref: '#/components/schemas/BookingDateTime'
        ValueDateTime:
          $ref: '#/components/schemas/ValueDateTime'
        TransactionInformation:
          $ref: '#/components/schemas/TransactionInformation'
        AddressLine:
          $ref: '#/components/schemas/AddressLine'
        Amount:
          $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_9'
        ChargeAmount:
          $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_10'
        CurrencyExchange:
          $ref: '#/components/schemas/OBCurrencyExchange5'
        BankTransactionCode:
          $ref: '#/components/schemas/OBBankTransactionCodeStructure1'
        ProprietaryBankTransactionCode:
          $ref: '#/components/schemas/ProprietaryBankTransactionCodeStructure1'
        ExtendedProprietaryBankTransactionCodes:
          type: array
          items:
            $ref: '#/components/schemas/OBExtendedProprietaryBankTransactionCode'
        Balance:
          $ref: '#/components/schemas/OBTransactionCashBalance'
        MerchantDetails:
          $ref: '#/components/schemas/OBMerchantDetails1'
        CreditorAgent:
          $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_1'
        CreditorAccount:
          $ref: '#/components/schemas/OBCashAccount6_0'
        DebtorAgent:
          $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_2'
        DebtorAccount:
          $ref: '#/components/schemas/OBCashAccount6_1'
        CardInstrument:
          $ref: '#/components/schemas/OBTransactionCardInstrument1'
        SupplementaryData:
          $ref: '#/components/schemas/OBSupplementaryData1'
        CategoryPurposeCode:
          $ref: '#/components/schemas/ExternalCategoryPurpose1Code'
        PaymentPurposeCode:
          $ref: '#/components/schemas/OBExternalPurpose1Code'
        UltimateCreditor:
          $ref: '#/components/schemas/OBUltimateCreditor1'
        UltimateDebtor:
          $ref: '#/components/schemas/OBUltimateDebtor1'
        IntermediaryAgent1:
          $ref: '#/components/schemas/OBIntermediaryAgent'
        IntermediaryAgent2:
          $ref: '#/components/schemas/OBIntermediaryAgent'
        IntermediaryAgent3:
          $ref: '#/components/schemas/OBIntermediaryAgent'
      additionalProperties: false
    ActiveOrHistoricCurrencyCode_1:
      description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
      type: string
      example: GBP
      pattern: ^[A-Z]{3,3}$
    OBInternalStatementFeeFrequency1Code:
      description: How frequently the fee is applied to the Account. For a full list of values see `OBInternalStatementFeeFrequency1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: UK.OBIE.StatementMonthly
      x-namespaced-enum:
      - UK.OBIE.ChargingPeriod
      - UK.OBIE.PerTransactionAmount
      - UK.OBIE.PerTransactionPercentage
      - UK.OBIE.Quarterly
      - UK.OBIE.StatementMonthly
      - UK.OBIE.Weekly
    OBInternalFinancialInstitutionIdentification4Code:
      description: Name of the identification scheme, in a coded form as published in an external list.<br/> For a full list of enumeration values refer to `OBInternalFinancialInstitutionIdentification4Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      example: UK.OBIE.BICFI
      x-namespaced-enum:
      - UK.OBIE.BICFI
    ExternalCategoryPurpose1Code:
      description: Enumeration of codes that outlines the type of purpose behind a transaction, payment or risk.  For all enum values see `ExternalCategoryPurpose1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      enum:
      - BONU
      - CASH
      - CBLK
      - CCRD
      - CGWV
      - CIPC
      - CONC
      - CORT
      - DCRD
      - DIVI
      - DVPM
      - EPAY
      - FCDT
      - FCIN
      - FCOL
      - GOVT
      - GP2P
      - HEDG
      - ICCP
      - IDCP
      - INTC
      - INTE
      - LBOX
      - LOAN
      - MP2B
      - MP2P
      - OTHR
      - PENS
      - RPRE
      - RRCT
      - RVPM
      - SALA
      - SECU
      - SSBE
      - SUPP
      - SWEP
      - TAXS
      - TOPG
      - TRAD
      - TREA
      - VATX
      - VOST
      - WHLD
      - ZABA
    EndDateTime:
      description: "Date and time at which the statement period ends. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
      type: string
      example: '2017-07-12T00:00:00+00:00'
      format: date-time
    Description_2:
      description: Description that may be available for the statement interest.
      example: Interest occurred over statement duration
      type: string
      minLength: 1
      maxLength: 128
    BuildingName:
      description: Name of a referenced building.
      type: string
      minLength: 1
      maxLength: 140
    OBInternalStatementInterestRateType1Code:
      description: This code specifies the type of interest (e.g., BOE Base Rate, Fixed Rate, Gross).
      type: string
      example: UK.OBIE.FixedRate
      x-namespaced-enum:
      - UK.OBIE.BOEBaseRate
      - UK.OBIE.FixedRate
      - UK.OBIE.Gross
      - UK.OBIE.LoanProviderBaseRate
      - UK.OBIE.Net
    Rate:
      description: Rate associated with the statement rate type.
      type: string
      example: '0.224'
      maxLength: 40
      pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$
    AddressLine:
      description: Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.
      type: string
      minLength: 1
      maxLength: 70
    TransactionReference:
      description: Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.
      type: string
      minLength: 1
      maxLength: 210
    TransactionInformation:
      description: "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text."
      type: string
      minLength: 1
      maxLength: 500
    OBCashAccount6_0:
      type: object
      description: Unambiguous identification of the account of the creditor, in the case of a debit transaction.
      properties:
        SchemeName:
          $ref: '#/components/schemas/OBInternalAccountIdentification4Code'
        Identification:
          $ref: '#/components/schemas/Identification_0'
        Name:
          $ref: '#/components/schemas/Name_0'
        SecondaryIdentification:
          $ref: '#/components/schemas/SecondaryIdentification'
        Proxy:
          $ref: '#/components/schemas/OBProxy1'
    OBProxy1:
      description: Specifies an alternate assumed name for the identification of the account.
      type: object
      required:
      - Identification
      - Code
      properties:
        Identification:
          description: Identification used to indicate the account identification under another specified name.
          type: string
          example: '2360549017905188'
          minLength: 1
          maxLength: 2048
        Code:
          $ref: '#/components/schemas/ExternalProxyAccountType1Code'
        Type:
          type: string
          description: Type of the proxy identification.
          minLength: 1
          maxLength: 35
    TownName:
      description: Name of a built-up area, with defined boundaries, and a local government.
      type: string
      example: London
      minLength: 1
      maxLength: 140
    OBInternalAccountIdentification4Code:
      description: Name of the identification scheme, in a coded form as published in an external list. <br /> For a full list of enumeration values refer to `OBInternalAccountIdentification4Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      x-namespaced-enum:
      - UK.OBIE.BBAN
      - UK.OBIE.IBAN
      - UK.OBIE.PAN
      - UK.OBIE.Paym
      - UK.OBIE.SortCodeAccountNumber
      - UK.OBIE.Wallet
    OBSupplementaryData1:
      type: object
      properties: {}
      addit

# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tandem-bank/refs/heads/main/openapi/tandem-bank-statements-api-openapi.yml