Algbra Account and Transaction Information API (AIS)

Algbra's UK Open Banking Account & Transaction Information (AIS) dedicated interface, conformant to the OBIE Read/Write Standard v3.1, enabling authorised AISP Third Party Providers to create account-access consents and read accounts, balances, beneficiaries and transactions with the customer's consent. Delivered via the Tell Money (Tell Connect) platform; FAPI OAuth2/OIDC + mTLS + PSD2 SCA.

OpenAPI Specification

algbra-account-transaction-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Account and Transaction API Specification
  description: Swagger for Account and Transaction API Specification
  termsOfService: https://tell.money/api_terms
  contact:
    name: Tell Connect Support
    email: tpp_support@tell.money
  version: v3.1.0
basePath: /algbra/open-banking/v3.1/aisp
schemes:
  - https
consumes:
  - application/json; charset=utf-8
produces:
  - application/json; charset=utf-8
paths:
  /account-access-consents:
    post:
      tags:
        - Account Access
      summary: Create Account Access Consents
      operationId: CreateAccountAccessConsents
      parameters:
        - $ref: '#/parameters/OBReadConsent1Param'
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '201':
          $ref: '#/responses/201AccountAccessConsentsCreated'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '404':
          $ref: '#/responses/404ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '415':
          $ref: '#/responses/415ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - TPPOAuth2Security:
            - accounts
  /account-access-consents/{ConsentId}:
    get:
      tags:
        - Account Access
      summary: Get Account Access Consents
      operationId: GetAccountAccessConsentsConsentId
      parameters:
        - $ref: '#/parameters/ConsentId'
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/responses/200AccountAccessConsentsConsentIdRead'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '404':
          $ref: '#/responses/404ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - TPPOAuth2Security:
            - accounts
    delete:
      tags:
        - Account Access
      summary: Delete Account Access Consents
      operationId: DeleteAccountAccessConsentsConsentId
      parameters:
        - $ref: '#/parameters/ConsentId'
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '204':
          $ref: '#/responses/204AccountAccessConsentsConsentIdDeleted'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '404':
          $ref: '#/responses/404ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - TPPOAuth2Security:
            - accounts
  /accounts:
    get:
      tags:
        - Accounts
      summary: Get Accounts
      operationId: GetAccounts
      parameters:
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/responses/200AccountsRead'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '404':
          $ref: '#/responses/404ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - PSUOAuth2Security:
            - accounts
  /accounts/{AccountId}:
    get:
      tags:
        - Accounts
      summary: Get Accounts
      operationId: GetAccountsAccountId
      parameters:
        - $ref: '#/parameters/AccountId'
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/responses/200AccountsAccountIdRead'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - PSUOAuth2Security:
            - accounts
  /accounts/{AccountId}/balances:
    get:
      tags:
        - Balances
      summary: Get Balances
      operationId: GetAccountsAccountIdBalances
      parameters:
        - $ref: '#/parameters/AccountId'
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/responses/200AccountsAccountIdBalancesRead'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - PSUOAuth2Security:
            - accounts
  /accounts/{AccountId}/beneficiaries:
    get:
      tags:
        - Beneficiaries
      summary: Get Beneficiaries
      operationId: GetAccountsAccountIdBeneficiaries
      parameters:
        - $ref: '#/parameters/AccountId'
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/responses/200AccountsAccountIdBeneficiariesRead'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '404':
          $ref: '#/responses/404ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - PSUOAuth2Security:
            - accounts
  /accounts/{AccountId}/transactions:
    get:
      tags:
        - Transactions
      summary: Get Transactions
      operationId: GetAccountsAccountIdTransactions
      parameters:
        - $ref: '#/parameters/AccountId'
        - $ref: '#/parameters/x-fapi-financial-id-Param'
        - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param'
        - $ref: '#/parameters/x-fapi-customer-ip-address-Param'
        - $ref: '#/parameters/x-fapi-interaction-id-Param'
        - $ref: '#/parameters/AuthorizationParam'
        - $ref: '#/parameters/FromBookingDateTimeParam'
        - $ref: '#/parameters/ToBookingDateTimeParam'
        - $ref: '#/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/responses/200AccountsAccountIdTransactionsRead'
        '400':
          $ref: '#/responses/400ErrorResponse'
        '401':
          $ref: '#/responses/401ErrorResponse'
        '403':
          $ref: '#/responses/403ErrorResponse'
        '404':
          $ref: '#/responses/404ErrorResponse'
        '405':
          $ref: '#/responses/405ErrorResponse'
        '406':
          $ref: '#/responses/406ErrorResponse'
        '429':
          $ref: '#/responses/429ErrorResponse'
        '500':
          $ref: '#/responses/500ErrorResponse'
      security:
        - PSUOAuth2Security:
            - accounts
parameters:
  FromBookingDateTimeParam:
    in: query
    name: fromBookingDateTime
    type: string
    format: date-time
    description: >-
      The UTC ISO 8601 Date Time to filter transactions FROM

      NB Time component is optional - set to 00:00:00 for just Date.

      If the Date Time contains a timezone, the ASPSP must ignore the timezone
      component.
  ToBookingDateTimeParam:
    in: query
    name: toBookingDateTime
    type: string
    format: date-time
    description: >-
      The UTC ISO 8601 Date Time to filter transactions TO

      NB Time component is optional - set to 00:00:00 for just Date.

      If the Date Time contains a timezone, the ASPSP must ignore the timezone
      component.
  FromStatementDateTimeParam:
    in: query
    name: fromStatementDateTime
    type: string
    format: date-time
    description: >-
      The UTC ISO 8601 Date Time to filter statements FROM

      NB Time component is optional - set to 00:00:00 for just Date.

      If the Date Time contains a timezone, the ASPSP must ignore the timezone
      component.
  ToStatementDateTimeParam:
    in: query
    name: toStatementDateTime
    type: string
    format: date-time
    description: >-
      The UTC ISO 8601 Date Time to filter statements TO

      NB Time component is optional - set to 00:00:00 for just Date.

      If the Date Time contains a timezone, the ASPSP must ignore the timezone
      component.
  x-fapi-financial-id-Param:
    in: header
    name: x-fapi-financial-id
    type: string
    required: true
    description: >-
      The unique id of the ASPSP to which the request is issued. The unique id
      will be issued by OB.
    default: ea01566d-f21d-49af-9d0c-b74fbe36911f
  x-fapi-customer-ip-address-Param:
    in: header
    name: x-fapi-customer-ip-address
    type: string
    required: false
    description: The PSU's IP address if the PSU is currently logged in with the TPP.
  x-fapi-interaction-id-Param:
    in: header
    name: x-fapi-interaction-id
    type: string
    required: false
    description: An RFC4122 UID used as a correlation id.
  x-fapi-customer-last-logged-time-Param:
    in: header
    name: x-fapi-customer-last-logged-time
    type: string
    required: false
    description: >-
      The time when the PSU last logged in with the TPP. 

      All dates in the HTTP headers are represented as RFC 7231 Full Dates. An
      example is below: 

      Sun, 10 Sep 2017 19:43:31 UTC
    pattern: >-
      ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
      (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2}
      (GMT|UTC)$
  AuthorizationParam:
    in: header
    name: Authorization
    type: string
    required: false
    description: >-
      An Authorisation Token as per https://tools.ietf.org/html/rfc6750 -
      required for API calls but may be ommited when using Swagger UI where the
      "Authorize" function has been operated
  AccountId:
    name: AccountId
    in: path
    description: AccountId
    required: true
    type: string
  OBReadConsent1Param:
    name: OBReadConsent1Param
    in: body
    description: Default
    required: true
    schema:
      $ref: '#/definitions/OBReadConsent1'
  ConsentId:
    name: ConsentId
    in: path
    description: ConsentId
    required: true
    type: string
  StatementId:
    name: StatementId
    in: path
    description: StatementId
    required: true
    type: string
  x-customer-user-agent-Param:
    in: header
    name: x-customer-user-agent
    type: string
    description: Indicates the user-agent that the PSU is using.
    required: false
responses:
  200AccountsAccountIdProductRead:
    description: Products Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadProduct2'
  200ProductsRead:
    description: Products Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadProduct2'
  200AccountsAccountIdScheduledPaymentsRead:
    description: Scheduled Payments Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadScheduledPayment2'
  200ScheduledPaymentsRead:
    description: Scheduled Payments Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadScheduledPayment2'
  201AccountAccessConsentsCreated:
    description: Account Access Consents Created
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadConsentResponse1'
  200AccountAccessConsentsConsentIdRead:
    description: Account Access Consents Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadConsentResponse1'
  204AccountAccessConsentsConsentIdDeleted:
    description: Account Access Consents Deleted
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
  200AccountsRead:
    description: Accounts Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadAccount3'
  200AccountsAccountIdRead:
    description: Accounts Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadAccount3'
  200AccountsAccountIdTransactionsRead:
    description: Transactions Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadTransaction4'
  200TransactionsRead:
    description: Transactions Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadTransaction4'
  200AccountsAccountIdDirectDebitsRead:
    description: Direct Debits Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadDirectDebit1'
  200DirectDebitsRead:
    description: Direct Debits Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadDirectDebit1'
  200AccountsAccountIdStatementsRead:
    description: Statements Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadStatement1'
  200AccountsAccountIdStatementsStatementIdRead:
    description: Statements Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadStatement1'
  200AccountsAccountIdStatementsStatementIdFileRead:
    description: Statements Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      type: file
  200AccountsAccountIdStatementsStatementIdTransactionsRead:
    description: Transactions Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadTransaction4'
  200StatementsRead:
    description: Statements Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadStatement1'
  200AccountsAccountIdPartyRead:
    description: Party Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadParty1'
  200PartyRead:
    description: Party Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadParty1'
  200AccountsAccountIdStandingOrdersRead:
    description: Standing Orders Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadStandingOrder4'
  200StandingOrdersRead:
    description: Standing Orders Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadStandingOrder4'
  200AccountsAccountIdBalancesRead:
    description: Balances Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadBalance1'
  200BalancesRead:
    description: Balances Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadBalance1'
  200AccountsAccountIdBeneficiariesRead:
    description: Beneficiaries Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadBeneficiary3'
  200BeneficiariesRead:
    description: Beneficiaries Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadBeneficiary3'
  200AccountsAccountIdOffersRead:
    description: Offers Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadOffer1'
  200OffersRead:
    description: Offers Read
    headers:
      x-fapi-interaction-id:
        type: string
        description: An RFC4122 UID used as a correlation id.
    schema:
      $ref: '#/definitions/OBReadOffer1'
  400ErrorResponse:
    description: Bad request
    schema:
      $ref: '#/definitions/OBErrorResponse1'
  401ErrorResponse:
    description: Unauthorized
  403ErrorResponse:
    description: Forbidden
  404ErrorResponse:
    description: Not found
  405ErrorResponse:
    description: Method Not Allowed
  406ErrorResponse:
    description: Not Acceptable
  415ErrorResponse:
    description: Unsupported Media Type
  429ErrorResponse:
    description: Too Many Requests
    headers:
      Retry-After:
        description: Number in seconds to wait
        type: integer
  500ErrorResponse:
    description: Internal Server Error
    schema:
      $ref: '#/definitions/OBErrorResponse1'
securityDefinitions:
  PSUOAuth2Security:
    type: oauth2
    flow: accessCode
    tokenUrl: https://secure.tell.systems/algbra/auth/oidc/token
    authorizationUrl: https://secure.tell.systems/algbra/auth/oidc/authorize
    scopes:
      accounts: Ability to read Accounts information
    description: >-
      OAuth flow, it is required when the PSU needs to perform SCA with the
      ASPSP when a TPP wants to access an ASPSP resource owned by the PSU
  TPPOAuth2Security:
    type: oauth2
    flow: application
    tokenUrl: https://secure.tell.systems/algbra/auth/oidc/token
    scopes:
      accounts: Ability to read Accounts information
    description: TPP client credential authorisation flow with the ASPSP
definitions:
  AccountId:
    description: >-
      A unique and immutable identifier used to identify the account resource.
      This identifier has no meaning to the account owner.
    type: string
    minLength: 1
    maxLength: 40
  OBAccount3:
    description: >-
      Unambiguous identification of the account to which credit and debit
      entries are made.
    type: object
    properties:
      AccountId:
        $ref: '#/definitions/AccountId'
      Currency:
        description: >-
          Identification of the currency in which the account is held. 

          Usage: Currency should only be used in case one and the same account
          number covers several currencies

          and the initiating party needs to identify which currency needs to be
          used for settlement on the account.
        type: string
        pattern: ^[A-Z]{3,3}$
      AccountType:
        $ref: '#/definitions/OBExternalAccountType1Code'
      AccountSubType:
        $ref: '#/definitions/OBExternalAccountSubType1Code'
      Description:
        description: Specifies the description of the account type.
        type: string
        minLength: 1
        maxLength: 35
      Nickname:
        description: >-
          The nickname of the account, assigned by the account owner in order to
          provide an additional means of identification of the account.
        type: string
        minLength: 1
        maxLength: 70
      Account:
        items:
          $ref: '#/definitions/OBCashAccount5'
        type: array
        description: Provides the details to identify an account.
      Servicer:
        $ref: '#/definitions/OBBranchAndFinancialInstitutionIdentification5'
    required:
      - AccountId
      - Currency
      - AccountType
      - AccountSubType
    additionalProperties: false
  OBAccount3Basic:
    description: >-
      Unambiguous identification of the account to which credit and debit
      entries are made.
    type: object
    properties:
      AccountId:
        $ref: '#/definitions/AccountId'
      Currency:
        description: >-
          Identification of the currency in which the account is held. 

          Usage: Currency should only be used in case one and the same account
          number covers several currencies

          and the initiating party needs to identify which currency needs to be
          used for settlement on the account.
        type: string
        pattern: ^[A-Z]{3,3}$
      AccountType:
        $ref: '#/definitions/OBExternalAccountType1Code'
      AccountSubType:
        $ref: '#/definitions/OBExternalAccountSubType1Code'
      Description:
        description: Specifies the description of the account type.
        type: string
        minLength: 1
        maxLength: 35
      Nickname:
        description: >-
          The nickname of the account, assigned by the account owner in order to
          provide an additional means of identification of the account.
        type: string
        minLength: 1
        maxLength: 70
    required:
      - AccountId
      - Currency
      - AccountType
      - AccountSubType
    additionalProperties: false
  OBAccount3Detail:
    description: >-
      Unambiguous identification of the account to which credit and debit
      entries are made.
    type: object
    properties:
      AccountId:
        $ref: '#/definitions/AccountId'
      Currency:
        description: >-
          Identification of the currency in which the account is held. 

          Usage: Currency should only be used in case one and the same account
          number covers several currencies

          and the initiating party needs to identify which currency needs to be
          used for settlement on the account.
        type: string
        pattern: ^[A-Z]{3,3}$
      AccountType:
        $ref: '#/definitions/OBExternalAccountType1Code'
      AccountSubType:
        $ref: '#/definitions/OBExternalAccountSubType1Code'
      Description:
        description: Specifies the description of the account type.
        type: string
        minLength: 1
        maxLength: 35
      Nickname:
        description: >-
          The nickname of the account, assigned by the account owner in order to
          provide an additional means of identification of the account.
        type: string
        minLength: 1
        maxLength: 70
      Account:
        items:
          $ref: '#/definitions/OBCashAccount5'
        type: array
        description: Provides the details to identify an account.
      Servicer:
        $ref: '#/definitions/OBBranchAndFinancialInstitutionIdentification5'
    required:
      - AccountId
      - Currency
      - AccountType
      - AccountSubType
      - Account
    additionalProperties: false
  OBActiveCurrencyAndAmount_SimpleType:
    description: >-
      A number of monetary units specified in an active currency where the unit
      of currency is explicit and compliant with ISO 4217.
    type: string
    pattern: ^\d{1,13}\.\d{1,5}$
  OBActiveOrHistoricCurrencyAndAmount:
    description: >-
      Amount of money of the cash balance after a transaction entry is applied
      to the account..
    type: object
    properties:
      Amount:
        $ref: '#/definitions/OBActiveCurrencyAndAmount_SimpleType'
      Currency:
        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
        pattern: ^[A-Z]{3,3}$
    required:
      - Amount
      - Currency
    additionalProperties: false
  OBAddressTypeCode:
    description: Identifies the nature of the postal address.
    type: string
    enum:
      - Business
      - Correspondence
      - DeliveryTo
      - MailTo
      - POBox
      - Postal
      - Residential
      - Statement
  OBBCAData1:
    type: object
    title: BCA
    properties:
      ProductDetails:
        type: object
        title: ProductDetails
        properties:
          Segment:
            description: >-
              Market segmentation is a marketing term referring to the
              aggregating of prospective buyers into groups, or segments, that
              have common needs and respond similarly to a marketing action.
              Market segmentation enables companies to target different
              categories of consumers who perceive the full value of certain
              products and services differently from one another.


              Read more: Market Segmentation
              http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd 

              With respect to BCA products, they are segmented in relation to
              different markets that they wish to focus on. 
            title: Segment
            type: array
            items:
              description: >-
                Market segmentation is a marketing term referring to the
                aggregating of prospective buyers into groups, or segments, that
                have common needs and respond similarly to a marketing action.
                Market segmentation enables companies to target different
                categories of consumers who perceive the full value of certain
                products and services differently from one another.


                Read more: Market Segmentation
                http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd 

                With respect to BCA products, they are segmented in relation to
                different markets that they wish to focus on. 
              type: string
              enum:
                - ClientAccount
                - Standard
                - NonCommercialChaitiesClbSoc
                - NonCommercialPublicAuthGovt
                - Religious
                - SectorSpecific
                - Startup
                - Switcher
          FeeFreeLength:
            description: The length/duration of the fee free period
            title: FeeFreeLength
            type: number
            format: float
          FeeFreeLengthPeriod:
            description: >-
              The unit of period (days, weeks, months etc.) of the promotional
              length
            title: FeeFreeLengthPeriod
            type: string
            enum:
              - Day
              - Half Year
              - Month
              - Quarter
              - Week
              - Year
          Notes:
            description: Optional additional notes to supplement the Core product details
            title: Notes
            type: array
            items:
              description: maxLength 2000 text
              type: string
              minLength: 1
              maxLength: 2000
        additionalProperties: false
      CreditInterest:
        description: >-
          Details about the interest that may be payable to the BCA account
          holders
        type: object
        title: CreditInterest
        properties:
          TierBandSet:
            description: >-
              The group of tiers or bands for which credit interest can be
              applied.
            type: array
            title: TierBandSet
            items:
              description: >-
                The group of tiers or bands for which credit interest can be
                applied.
              type: object
              properties:
                TierBandMethod:
                  description: >-
                    The methodology of how credit interest is paid/applied. It
                    can be:-


                    1. Banded

                    Interest rates are banded. i.e. Increasing rate on whole
                    balance as balance increases.


                    2. Tiered

                    Interest rates are tiered. i.e. increasing rate for each
                    tier as balance increases, but interest paid on tier fixed
                    for that tier and not on whole balance.


                    3. Whole

                    The same interest rate is applied irrespective of the BCA
                    balance
                  title: TierBandMethod
                  type: string
                  enum:
                    - Banded
                    - Tiered
                    - Whole
                CalculationMethod:

# --- truncated at 32 KB (335 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/algbra/refs/heads/main/openapi/algbra-account-transaction-api-openapi.yml