openapi: 3.0.1
info:
  title: TransactionHistory
  version: 2.10.0
  description: API for managing the history of transactions
  contact:
    name: Tradevest GmbH
    email: hello@tradevest.ai
    url: https://tradevest.ai
servers:
  - url: https://tvda-api.platform-test.tradevest.ai
    description: Test
security:
  - Bearer: []
tags:
  - name: Transaction History
    description: Transaction History
paths:
  /transactions/{transactionId}:
    get:
      summary: Get Transaction
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      operationId: get-transaction
      description: Get Transaction
      x-operation-group: history-query
      x-required-permissions: rs/transaction-history/read
      tags:
        - Transaction History
    parameters:
      - schema:
          type: string
          format: uuid
        name: transactionId
        in: path
        required: true
        description: Unique transaction identification number in UUID format
  /customers/{customerId}/transactions:
    parameters:
      - schema:
          type: string
          format: uuid
        name: customerId
        in: path
        required: true
        description: Unique customer identification number in UUID format
    get:
      summary: Get Transactions
      description: Get a list of historic transactions.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transactions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      operationId: get-transactions
      parameters:
        - schema:
            type: string
          in: query
          name: cursor
          description: String value used for pagination
        - schema:
            type: integer
            default: 20
            minimum: 1
          in: query
          description: Maximum number of items to return
          name: limit
          required: true
        - schema:
            $ref: '#/components/schemas/TransactionTypeEnum'
          in: query
          name: transactionType
          description: transaction type
        - schema:
            type: string
            format: date
          in: query
          name: startBookingDate
          description: Display transactions with a Booking Date on or after this date
        - schema:
            type: string
            format: date
          in: query
          name: endBookingDate
          description: Display transactions with a Booking Date on or before this date
        - schema:
            type: string
            format: uuid
          in: query
          name: customerProductId
          description: Unique customer product identification number in UUID format
      x-operation-group: history-query
      x-required-permissions: rs/transaction-history/read
      tags:
        - Transaction History
components:
  schemas:
    Transaction:
      title: Transaction
      type: object
      properties:
        transactionId:
          type: string
          format: uuid
          description: Unique transaction reference number in UUID format
        customerId:
          type: string
          format: uuid
          description: Unique customer identification number in UUID format
        createdOn:
          type: string
          format: date-time
          description: The date denoting when the transaction's record was initially created
        modifiedOn:
          type: string
          format: date-time
          description: The date denoting when the transaction's record was modified
        transactionType:
          $ref: '#/components/schemas/TransactionTypeEnum'
        transactionStatus:
          $ref: '#/components/schemas/TransactionStatusEnum'
        bookingDate:
          type: string
          format: date
          description: The booking date is the date when a transaction is recorded in the system. It is the date when the system processes the transaction and makes a note of it in the account holder's records.
        valueDate:
          type: string
          format: date
          description: The value date is the date when the funds from a transaction are actually available for use or when they start accruing interest. It determines the effective date of the transaction for interest calculations, fund availability, or any other purpose where timing matters.
        digitalTradingTransaction:
          $ref: '#/components/schemas/DigitalTradingTransaction'
        traditionalTradingTransaction:
          $ref: '#/components/schemas/TraditionalTradingTransaction'
        tokenizedTradingTransaction:
          $ref: '#/components/schemas/TokenizedTradingTransaction'
        cashTransaction:
          $ref: '#/components/schemas/CashTransaction'
        technicalCashTransaction:
          $ref: '#/components/schemas/TechnicalCashTransaction'
        corporateActionTransaction:
          $ref: '#/components/schemas/CorporateActionTransaction'
        savingsPlanTransaction:
          $ref: '#/components/schemas/SavingsPlanTransaction'
      required:
        - transactionId
        - customerId
        - createdOn
        - transactionType
        - transactionStatus
        - bookingDate
        - valueDate
    TransactionTypeEnum:
      title: TransactionTypeEnum
      enum:
        - TRADE
        - CASH
        - CORPORATE_ACTION
        - SAVINGS_PLAN
      description: The type of transaction being performed.
    SavingsPlanTransaction:
      title: SavingsPlanTransaction
      type: object
      properties:
        executionId:
          type: string
          format: uuid
          description: The savings-plan execution (BUY) or exit sell-order (SELL) UUID — the savings-plans domain identifier for this transaction.
        savingsPlanId:
          type: string
          format: uuid
          description: The savings plan this transaction belongs to.
        isin:
          type: string
          description: ISIN of the asset.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        quantity:
          type: number
          description: The number of (fractional) shares allocated (BUY) or sold (SELL).
        executionPrice:
          type: number
          description: The fill price per share.
        savingsAmount:
          type: number
          description: The recurring savings amount committed for a BUY execution.
        feeAmount:
          type: number
          description: The fee charged for this savings-plan transaction.
        externalId:
          type: string
          description: The savings plan external id in the partner's system.
    Transactions:
      title: Transactions
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
        pagination:
          $ref: '#/components/schemas/Pagination'
      required:
        - data
        - pagination
    CashTransaction:
      title: CashTransaction
      type: object
      required:
        - transferId
        - referenceMessage
        - counterpartyName
        - customerProductId
        - iban
        - amount
        - currency
        - direction
      properties:
        transferId:
          type: string
          format: uuid
          description: Unique transfer identification number in UUID format
        referenceMessage:
          type: string
          description: The reference message of the cash transfer.
        counterpartyName:
          type: string
          description: The name of the counterparty (debtor/creditor).
        customerProductId:
          type: string
          format: uuid
          description: A customer product of a customer to/from which cash was deposited/withdrawn.
        iban:
          type: string
          maxLength: 34
          pattern: ^[A-Z]{2}\d{2}\w{11,30}$
          minLength: 15
          example: DE39500105172896993442
          description: The IBAN of the counterparty (debtor/creditor).
        bic:
          type: string
          description: The BIC (Business Identifier Code) of the counterparty (debtor/creditor)
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$
        amount:
          type: number
          description: The total monetary amount of the transaction.
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        direction:
          $ref: '#/components/schemas/DirectionEnum'
        externalId:
          type: string
          description: Represents Transfer ID in partner's system. This value has to be unique
    TechnicalCashTransaction:
      title: TechnicalCashTransaction
      type: object
      required:
        - transferId
        - referenceMessage
        - customerProductId
        - amount
        - currency
        - direction
      properties:
        transferId:
          type: string
          format: uuid
          description: Unique transfer identification number in UUID format
        referenceMessage:
          type: string
          description: The reference message of the transfer.
        customerProductId:
          type: string
          format: uuid
          description: Unique customer product identification number in UUID format to which technical transfer was created.
        amount:
          type: number
          description: The total monetary amount of the transaction.
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        direction:
          $ref: '#/components/schemas/DirectionEnum'
    TransactionStatusEnum:
      title: TransactionStatusEnum
      enum:
        - MODIFIED
        - COMPLETED
      description: Status of transaction
    DigitalTradingTransaction:
      title: DigitalTradingTransaction
      type: object
      properties:
        orderId:
          type: string
          format: uuid
          description: Unique order identification number in UUID format
        walletCustomerProductId:
          type: string
          format: uuid
          description: A wallet customer product of a customer. Digital assets are deposited/withdrawn to/from this product.
        cashCustomerProductId:
          type: string
          format: uuid
          description: A cash customer product of a customer. Cash is deposited/withdrawn to/from this product when trading digital assets.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        cryptoSymbol:
          type: string
          description: Digital assets symbol
        assetType:
          $ref: '#/components/schemas/DigitalAssetTypeEnum'
        quantity:
          type: number
          description: The quantity of a digital asset to buy or sell.
        price:
          type: number
          description: The price for one unit. The asset has been traded with this price.
        amount:
          $ref: '#/components/schemas/MonetaryAmount'
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        externalId:
          type: string
          description: Represents Order ID in partner's system. This value has to be unique
        feeDescription:
          type: string
          description: A description of the fee associated with the order execution.
        feeAmount:
          type: number
          minimum: 0
          description: The fee amount charged for the order execution.
        netAmount:
          type: number
          description: The net cash effect on the customer's account after fees and taxes.
      required:
        - orderId
        - walletCustomerProductId
        - cashCustomerProductId
        - tradeSide
        - cryptoSymbol
        - assetType
        - quantity
        - price
        - amount
        - currency
    TraditionalTradingTransaction:
      title: TraditionalTradingTransaction
      type: object
      properties:
        orderId:
          type: string
          format: uuid
          description: Unique order identification number in UUID format.
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: A depository customer product of a customer.
        cashCustomerProductId:
          type: string
          format: uuid
          description: A cash customer product of a customer. Cash is deposited/withdrawn to/from this product when trading digital assets.
        isin:
          type: string
          description: ISIN of the asset.
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        assetType:
          $ref: '#/components/schemas/TraditionalAssetTypeEnum'
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        quantity:
          type: number
          description: The quantity of a traditional asset to buy or sell.
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        orderType:
          $ref: '#/components/schemas/TraditionalAssetOrderTypeEnum'
        limitPrice:
          type: number
        stopPrice:
          type: number
        expiryDate:
          type: string
          format: date
          description: |-
            'The order expiration date (last day the order can trade) in the YYYY-MM-DD format.
            Default value is T+1 year'
        orderStatus:
          $ref: '#/components/schemas/TraditionalAssetOrderStatusEnum'
        externalId:
          type: string
          description: Represents Order ID in partner's system. This value has to be unique.
        executionData:
          $ref: '#/components/schemas/TraditionalTradingTransactionExecutionData'
        partialExecutions:
          type: array
          description: List of partial executions
          items:
            $ref: '#/components/schemas/TraditionalTradingTransactionPartialExecution'
      required:
        - orderId
        - depositoryCustomerProductId
        - cashCustomerProductId
        - isin
        - assetType
        - exchangeCode
        - tradeSide
        - quantityType
        - quantity
        - currency
        - orderType
        - expiryDate
        - orderStatus
        - externalId
    TraditionalTradingTransactionExecutionData:
      type: object
      properties:
        quantity:
          type: number
          description: The amount of units executed.
        executionPrice:
          type: number
          description: The execution price refers to the actual price at which a trade or transaction was executed.
        executionAmount:
          type: number
          description: The execution amount refers to the total cash amount of a trade. It represents for how much money a particular asset is bought or sold at the execution price when the order is fulfilled.
          minimum: 0
          exclusiveMinimum: true
          multipleOf: 0.01
          example: 750.55
        remainingQuantity:
          type: number
          description: The quantity remaining from a partial execution.
        feeDescription:
          type: string
          description: Description of the specific fee.
        feeAmount:
          type: number
          description: Fixed or variable fee depending on the configuration.
        germanCit:
          type: number
          format: decimal
          description: Total sum of german capital income tax amount of the total execution
        solidaritySurcharge:
          type: number
          format: decimal
          description: Total sum of german solidarity surcharge tax amount of the total execution
        churchTax:
          type: number
          format: decimal
          description: Total sum of german church tax amount of the total execution
        netAmount:
          type: number
          description: The net cash effect on the customer's account after fees and taxes.
      required:
        - executionPrice
        - executionAmount
        - quantity
    TraditionalTradingTransactionPartialExecution:
      title: PartialExecution
      type: object
      properties:
        executionId:
          type: string
          format: uuid
        executionPrice:
          type: number
        executionQuantity:
          type: number
        amount:
          type: number
          multipleOf: 0.01
          example: -1523.25
        executionTime:
          type: string
          format: date-time
        valueDate:
          type: string
          format: date
        bookingDate:
          type: string
          format: date
        status:
          $ref: '#/components/schemas/TraditionalAssetOrderStatusEnum'
        taxData:
          type: array
          items:
            $ref: '#/components/schemas/TaxData'
      required:
        - executionId
        - executionPrice
        - executionQuantity
        - executionTime
        - amount
        - valueDate
        - bookingDate
        - status
    TokenizedTradingTransaction:
      title: TokenizedTradingTransaction
      type: object
      properties:
        orderId:
          type: string
          format: uuid
          description: Unique order identification number in UUID format.
        walletCustomerProductId:
          type: string
          format: uuid
          description: A wallet customer product of a customer. Tokenized assets are deposited/withdrawn to/from this product.
        cashCustomerProductId:
          type: string
          format: uuid
          description: A cash customer product of a customer. Cash is deposited/withdrawn to/from this product when trading tokenized assets.
        symbol:
          type: string
          description: Trading symbol of the tokenized asset.
        description:
          type: string
          description: Human-readable description of the tokenized asset.
        exchangeCode:
          type: string
          enum:
            - TVM
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        quantityType:
          type: string
          enum:
            - UNIT
        quantity:
          type: number
          description: The quantity of a tokenized asset to buy or sell.
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        orderType:
          type: string
          enum:
            - MARKET
        limitPrice:
          type: number
          format: decimal
        stopPrice:
          type: number
          format: decimal
        expiryDate:
          type: string
          format: date
          description: The order expiration date (last day the order can trade) in the YYYY-MM-DD format.
        orderStatus:
          type: string
          enum:
            - RECEIVED
            - INVALID
            - PENDING
            - CANCELED
            - REJECTED
            - FILLED
            - CORRECTED
            - SETTLED
        externalId:
          type: string
          description: Represents Order ID in partner's system. This value has to be unique.
        executionData:
          $ref: '#/components/schemas/TokenizedTradingTransactionExecutionData'
        partialExecutions:
          type: array
          description: List of partial executions.
          items:
            $ref: '#/components/schemas/TokenizedTradingTransactionPartialExecution'
      required:
        - orderId
        - walletCustomerProductId
        - cashCustomerProductId
        - symbol
        - exchangeCode
        - tradeSide
        - quantityType
        - quantity
        - currency
        - orderType
        - orderStatus
        - externalId
    TokenizedTradingTransactionExecutionData:
      type: object
      properties:
        quantity:
          type: number
          description: The amount of units executed.
        executionPrice:
          type: number
          description: The execution price refers to the actual price at which a trade or transaction was executed.
        executionAmount:
          type: number
          description: The execution amount refers to the total cash amount of a trade.
          multipleOf: 0.01
          example: 278.93
        remainingQuantity:
          type: number
          description: The quantity remaining from a partial execution.
        feeDescription:
          type: string
          description: Description of the specific fee.
        feeAmount:
          type: number
          description: Fixed or variable fee depending on the configuration.
        taxDeductionTotal:
          type: number
          format: decimal
          description: Total sum of tax deducted on the execution. Populated only when a tax snapshot exists (typically SELL orders).
        germanCit:
          type: number
          format: decimal
          description: Total sum of german capital income tax amount of the total execution.
        solidaritySurcharge:
          type: number
          format: decimal
          description: Total sum of german solidarity surcharge tax amount of the total execution.
        churchTax:
          type: number
          format: decimal
          description: Total sum of german church tax amount of the total execution.
      required:
        - quantity
        - executionPrice
        - executionAmount
    TokenizedTradingTransactionPartialExecution:
      title: TokenizedPartialExecution
      type: object
      properties:
        executionId:
          type: string
          format: uuid
        executionPrice:
          type: number
        executionQuantity:
          type: number
        amount:
          type: number
          multipleOf: 0.01
          example: -278.93
        executionTime:
          type: string
          format: date-time
        valueDate:
          type: string
          format: date
        bookingDate:
          type: string
          format: date
        status:
          type: string
          enum:
            - RECEIVED
            - INVALID
            - PENDING
            - CANCELED
            - REJECTED
            - FILLED
            - CORRECTED
            - SETTLED
        taxData:
          type: array
          items:
            $ref: '#/components/schemas/TaxData'
      required:
        - executionId
        - executionPrice
        - executionQuantity
        - executionTime
        - amount
        - valueDate
        - bookingDate
        - status
    DirectionEnum:
      title: DirectionEnum
      enum:
        - INCOMING
        - OUTGOING
    TaxData:
      title: TaxData
      type: object
      properties:
        germanCit:
          type: number
          format: decimal
          description: German capital income tax amount for this transaction
        solidaritySurcharge:
          type: number
          format: decimal
          description: German solidarity surcharge tax amount for this transaction
        churchTax:
          type: number
          format: decimal
          description: German church tax amount for this transaction
        foreignTaxCountryCode:
          $ref: '#/components/schemas/CountryEnum'
        foreignTaxAmount:
          type: number
          format: decimal
          description: Foreign Tax collected by custodian.
      required:
        - germanCit
        - solidaritySurcharge
        - churchTax
    CorporateActionTransaction:
      title: CorporateActionTransaction
      type: object
      description: |-
        Transaction representing a corporate action event.

        Field requirements vary by action type:
        - DVCA (Cash Dividend): cashCustomerProductId, grossAmountPerShare, netAmount, currency, taxData are typically required
        - BONU (Bonus Issue): newAssetQuantity, are typically required
        - SPLF (Stock Split): newAssetQuantity, ratio are typically required
        - REDM (Redemption): cashCustomerProductId, netAmount, currency are typically required
        - Other types: fields depend on the specific corporate action
      properties:
        corporateActionId:
          type: string
          format: uuid
          description: Unique corporate action identification number in UUID format
        corporateActionCustomerId:
          type: string
          format: uuid
          description: Unique corporate action customer identification number in UUID format
        actionType:
          $ref: '#/components/schemas/CorporateActionEventTypeEnum'
        isin:
          type: string
          description: ISIN of the asset related to the corporate action
        executionDate:
          type: string
          format: date
          description: The execution date of the corporate action
        customerProductId:
          type: string
          format: uuid
          description: Customer product for cash or asset
        eligibleQuantity:
          type: number
          description: The quantity of assets eligible for the corporate action
        grossAmountPerShare:
          type: number
          format: decimal
          description: Gross amount per share for the corporate action (e.g., dividend per share). Required for DVCA.
        netAmount:
          type: number
          format: decimal
          description: Net amount after taxes for cash-based corporate actions. Required for DVCA
        ratioFrom:
          type: number
          format: decimal
          description: Ratio From, required for SPLF/BONU
        ratioTo:
          type: number
          format: decimal
          description: Ratio To, required for SPLF/BONU
        oldQuantity:
          type: number
          format: decimal
          description: Quantity of shares before stock split (SPLF) or bonus issue (BONU)
        newQuantity:
          type: number
          format: decimal
          description: Quantity of shares after stock split (SPLF) or bonus issue (BONU)
        cashInLieuAmount:
          type: number
          format: decimal
          description: Cash paid for fractions in ratio-based Corporate Actions
        cashInLieuPrice:
          type: number
          format: decimal
          description: Price of fractional shares in ratio-based Corporate Actions
        fractionalSharesQuantity:
          type: number
          format: decimal
          description: Fractional shares customer eligible to in ratio-based Corporate Actions
        submittedCorporateActionOptions:
          $ref: '#/components/schemas/SubmittedCorporateActionTenderOptions'
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        taxData:
          $ref: '#/components/schemas/TaxData'
      required:
        - corporateActionId
        - corporateActionCustomerId
        - actionType
        - isin
        - executionDate
        - customerProductId
        - eligibleQuantity
    CorporateActionEventTypeEnum:
      title: CorporateActionEventTypeEnum
      enum:
        - DVCA
        - INTR
        - REDM
        - BONU
        - SPLF
        - TEND
        - CHDV
        - EXRI
        - MEET
        - DVOP
        - LIQU
        - DVSE
        - SPLR
      description: Type of corporate action event.
    SubmittedCorporateActionTenderOptions:
      type: array
      items:
        $ref: '#/components/schemas/SubmittedActionTenderOption'
    SubmittedActionTenderOption:
      type: object
      required:
        - tenderOption
        - submittedTenderQuantity
        - quantitySuccessfullyTendered
      properties:
        tenderOption:
          $ref: '#/components/schemas/CorporateActionOptionEnum'
        submittedTenderQuantity:
          type: number
          format: decimal
          description: Submitted Tender Quantity
          example: 10
        quantitySuccessfullyTendered:
          type: number
          format: decimal
          description: Quantity successfully tendered after tender offer (TEND)
        tenderedCashAmount:
          type: number
          format: decimal
          description: Tendered cash amount after tender offer (TEND)
    CorporateActionTenderOptionEnum:
      title: CorporateActionTenderOptionEnum
      enum:
        - NONE
        - CASH
        - STOCK
      description: Corporate Action Tender Options
    TradeSideEnum:
      title: TradeSideEnum
      type: string
      enum:
        - BUY
        - SELL
    DigitalAssetTypeEnum:
      title: DigitalAssetTypeEnum
      type: string
      description: Digital Asset Type
      enum:
        - CRYPTOCURRENCY
        - SECURITYTOKEN
        - eWP
    MonetaryAmount:
      type: number
      description: The total monetary amount of the transaction.
      minimum: 0
      exclusiveMinimum: true
      multipleOf: 0.01
      example: 750.55
    CurrencyEnum:
      title: CurrencyEnum
      type: string
      description: Currency of the product's balance. Currency code in ISO 4217
      enum:
        - EUR
    TraditionalAssetExchangeCodeEnum:
      title: TraditionalAssetExchangeCodeEnum
      type: string
      enum:
        - TGAT
        - XFRA
    TraditionalAssetTypeEnum:
      title: TraditionalAssetTypeEnum
      type: string
      description: The type of the traditional asset
      enum:
        - BOND
        - ETF
        - EQUITY
        - FUND
        - COMMODITY
        - DERIVATIVE
        - ETN
        - UNKNOWN
    TraditionalAssetOrderQuantityTypeEnum:
      title: TraditionalAssetOrderQuantityTypeEnum
      type: string
      enum:
        - UNIT
    TraditionalAssetOrderTypeEnum:
      title: TraditionalAssetOrderTypeEnum
      type: string
      enum:
        - LIMIT
        - MARKET
        - STOP
    TraditionalAssetOrderStatusEnum:
      title: TraditionalAssetOrderStatusEnum
      type: string
      enum:
        - RECEIVED
        - INVALID
        - PLACED
        - UPDATED
        - REJECTED
        - FILLED
        - PARTIALLY_FILLED
        - CANCELLED
        - RECONCILIATION_CORRECTION
        - EXPIRED
        - PENDING
        - CANCELLATION_REJECTED
        - CANCELLATION_ACCEPTED
        - PARTIALLY_FILLED_CANCELLED
        - PARTIALLY_FILLED_EXPIRED
    CountryEnum:
      title: CountryEnum
      type: string
      description: Country code in **ISO 3166-1 alpha-2** standard
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - VG
        - IO
        - BN
        - BG
        - BF
        - BI
        - KH
        - CM
        - CA
        - CV
        - KY
        - CF
        - TD
        - CL
        - CN
        - HK
        - MO
        - CX
        - CC
        - CO
        - KM
        - CG
        - CD
        - CK
        - CR
        - CI
        - HR
        - CU
        - CW
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - KP
        - KR
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MK
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - AN
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SZ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - US
        - UM
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
        - XK
    CorporateActionOptionEnum:
      title: CorporateActionOptionEnum
      type: string
      description: Tender Option
      enum:
        - NONE
        - CASH
        - STOCK
    ErrorDetailsExplanation:
      title: ErrorDetailsExplanation
      type: object
      properties:
        code:
          type: string
          maxLength: 255
        parameter:
          type: string
        message:
          type: string
      required:
        - code
        - message
    ErrorDetails:
      title: ErrorDetails
      type: object
      properties:
        field:
          type: string
          maxLength: 255
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailsExplanation'
      required:
        - field
    ErrorMessage:
      title: ErrorMessage
      type: object
      properties:
        message:
          type: string
        responseType:
          type: string
        validationString:
          minLength: 1
          type: string
        requestId:
          type: string
        errorCode:
          type: string
          maxLength: 255
        errorDetails:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetails'
      required:
        - message
        - responseType
        - requestId
    Pagination:
      title: Pagination
      type: object
      properties:
        cursor:
          type: string
          description: String value used for pagination, which should be set in next page request.
        limit:
          type: integer
          description: Maximum number of returned items
      required:
        - cursor
        - limit
  securitySchemes:
    Bearer:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          scopes: {}
x-tagGroups:
  - name: Transaction History
    tags:
      - Transaction History
