openapi: 3.0.1
info:
  title: TraditionalAssets
  version: 2.10.0
  contact:
    name: Tradevest GmbH
    email: hello@tradevest.ai
    url: https://tradevest.ai
  description: Commands and queries related to trading of financial derivatives.
servers:
  - url: https://tvda-api.platform-test.tradevest.ai
    description: Test
security:
  - Bearer: []
tags:
  - name: Orders
    description: Orders
  - name: Assets
    description: Assets
  - name: Documents
    description: Documents
paths:
  /traditional/orders/{orderId}:
    parameters:
      - schema:
          type: string
          format: uuid
        name: orderId
        in: path
        required: true
    get:
      summary: Get Order
      operationId: get-order
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      tags:
        - Orders
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      description: |-
        Get single order.

        Position sells created through `/traditional/orders/sell-all` or
        `/traditional/orders/fractional-sell` are not returned by this endpoint and respond with
        `404`, because their quantity may be fractional. Read them through
        `GET /v2/traditional/orders/{orderId}`.
    delete:
      summary: Cancel order
      operationId: cancel-order
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      responses:
        '202':
          description: Accepted
          content: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      description: Cancel a single trading order. Please note that Market orders have a low probability of being canceled.
  /traditional/orders/trade-invoice/{executionId}:
    get:
      summary: Get trade invoice
      tags:
        - Documents
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      operationId: get-traditional-asset-trade-invoice
      parameters:
        - schema:
            type: string
            format: uuid
          name: executionId
          in: path
          required: true
          description: Id of the trade invoice
      description: Get order trade invoice
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
  /traditional/orders/savings-plans/trade-invoice/{savingsPlanOrderId}:
    get:
      summary: Get savings plan trade invoice
      tags:
        - Documents
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      operationId: get-savings-plan-trade-invoice
      parameters:
        - schema:
            type: string
            format: uuid
          name: savingsPlanOrderId
          in: path
          required: true
          description: Id of the savings plan execution (BUY) or exit sell order (SELL)
      description: Get savings plan trade invoice
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
  /traditional/orders/market:
    post:
      summary: Create Market Order
      operationId: create-market-order
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResult'
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketOrderData'
      description: Create a single security market order
  /traditional/orders/sell-all:
    post:
      summary: Sell Entire Position
      operationId: create-sell-all-order
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PositionSellData'
      description: |-
        Sell the customer's entire position in one ISIN within one depository product — whole shares
        and any sub-one-share remainder together, as a single sell order. Ends with a zero position
        on that ISIN.

        Accepted asynchronously: the response carries the order id, and the order is validated,
        priced and routed afterwards. The order is readable on the `/v2` endpoints immediately, with
        status `RECEIVED` and `quantity` `0` — the quantity is resolved from the custody position
        when the order is routed. Rejections surface as an order with status `REJECTED` (or `INVALID`
        for validation failures) and a `message`, readable through the same `/v2` endpoints.

        Side effect: every ACTIVE savings plan on that (customer, depository product, ISIN) is
        deactivated so it does not resume buying.

        Rejected when part of the position is already blocked by another open order — cancel that
        order first, otherwise a zero position cannot be guaranteed.

        The resulting order cannot be cancelled: `DELETE /traditional/orders/{orderId}` responds
        with `409`. Amendment is not available for any traditional order — `PATCH` responds with
        `501`.
  /traditional/orders/fractional-sell:
    post:
      summary: Sell Fractional Remainder
      operationId: create-fractional-sell-order
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PositionSellData'
      description: |-
        Sell only the sub-one-share remainder of the customer's position in one ISIN within one
        depository product. Always the entire remainder — a partial fraction cannot be sold. Whole
        shares are never touched: a position of 3.4 becomes 3.

        Works whether or not an active savings plan exists for the position. Rejected when the
        position has no fractional remainder.

        Accepted asynchronously: the response carries the order id, and the order is validated,
        priced and routed afterwards. The order is readable on the `/v2` endpoints immediately, with
        status `RECEIVED` and `quantity` `0` — the quantity is resolved from the custody position
        when the order is routed. Rejections surface as an order with status `REJECTED` (or `INVALID`
        for validation failures) and a `message`, readable through the same `/v2` endpoints.

        The resulting order cannot be cancelled: `DELETE /traditional/orders/{orderId}` responds
        with `409`. Amendment is not available for any traditional order — `PATCH` responds with
        `501`.
  /traditional/orders/limit:
    post:
      summary: Create Limit Order
      operationId: create-limit-order
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResult'
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LimitOrderData'
      description: Create a single security limit order
  /traditional/orders/stop:
    post:
      summary: Create Stop Order
      operationId: create-stop-order
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResult'
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StopOrderData'
      description: Create a single security stop order
  /products/{customerProductId}/traditional/orders:
    parameters:
      - schema:
          type: string
          format: uuid
        name: customerProductId
        in: path
        required: true
    get:
      summary: Get Orders
      operationId: get-orders
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      tags:
        - Orders
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Orders'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      description: |-
        Get orders.

        Position sells created through `/traditional/orders/sell-all` or
        `/traditional/orders/fractional-sell` are excluded, because their quantity may be
        fractional. Because the exclusion is applied after the page is read, a page may contain
        fewer items than `limit` while more items remain — keep following `cursor` until it is
        absent. Read position sells through
        `GET /v2/products/{customerProductId}/traditional/orders`.
      parameters:
        - schema:
            $ref: '#/components/schemas/TraditionalAssetOrderStatusEnum'
          in: query
          name: status
          description: Order status. If not send all statues will be returned.
        - schema:
            type: string
            format: date-time
          in: query
          name: startCreatedOn
          description: Display orders created on or after this date
        - schema:
            type: string
            format: date-time
          in: query
          name: endCreatedOn
          description: Display orders created on or before this date
        - schema:
            type: integer
            default: 20
            minimum: 1
          in: query
          name: limit
          description: Maximum number of items to return
        - schema:
            type: string
          in: query
          name: cursor
          description: String value used for pagination
        - schema:
            type: string
            format: uuid
          in: query
          name: externalId
        - schema:
            $ref: '#/components/schemas/SortDirectionEnum'
          in: query
          name: sortDirection
          description: Sort orders by execution amount in the given direction
  /v2/traditional/orders/{orderId}:
    parameters:
      - schema:
          type: string
          format: uuid
        name: orderId
        in: path
        required: true
    get:
      summary: Get Order V2
      operationId: get-order-v2
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      tags:
        - Orders
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderV2'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      description: |-
        Get a single order, including position sells created through
        `/traditional/orders/sell-all` and `/traditional/orders/fractional-sell`.

        Identical to `GET /traditional/orders/{orderId}` except that `quantity` may be fractional.
  /v2/products/{customerProductId}/traditional/orders:
    parameters:
      - schema:
          type: string
          format: uuid
        name: customerProductId
        in: path
        required: true
    get:
      summary: Get Orders V2
      operationId: get-orders-v2
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      tags:
        - Orders
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrdersV2'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      description: |-
        Get orders, including position sells created through `/traditional/orders/sell-all` and
        `/traditional/orders/fractional-sell`.

        Identical to `GET /products/{customerProductId}/traditional/orders` except that `quantity`
        may be fractional and no order is excluded, so a page always contains `limit` items while
        more items remain.
      parameters:
        - schema:
            $ref: '#/components/schemas/TraditionalAssetOrderStatusEnum'
          in: query
          name: status
          description: Order status. If not send all statues will be returned.
        - schema:
            type: string
            format: date-time
          in: query
          name: startCreatedOn
          description: Display orders created on or after this date
        - schema:
            type: string
            format: date-time
          in: query
          name: endCreatedOn
          description: Display orders created on or before this date
        - schema:
            type: integer
            default: 20
            minimum: 1
          in: query
          name: limit
          description: Maximum number of items to return
        - schema:
            type: string
          in: query
          name: cursor
          description: String value used for pagination
        - schema:
            type: string
            format: uuid
          in: query
          name: externalId
        - schema:
            $ref: '#/components/schemas/SortDirectionEnum'
          in: query
          name: sortDirection
          description: Sort orders by execution amount in the given direction
  /traditional/exchanges:
    get:
      summary: Get exchanges
      operationId: get-exchanges
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      tags:
        - Assets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Exchanges'
      description: Get exchanges
  /traditional/assets:
    get:
      summary: Get assets
      operationId: get-assets
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      tags:
        - Assets
      parameters:
        - schema:
            type: string
          in: query
          name: cursor
          description: String value used for pagination
        - schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
          in: query
          description: Maximum number of items to return
          name: limit
          required: true
        - schema:
            $ref: '#/components/schemas/TraditionalAssetTradingStatusEnum'
          in: query
          name: tradingStatus
          description: Filters the list to only show assets with a certain status (e.g. only assets that can be currently traded).
        - schema:
            $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
          in: query
          name: exchangeCode
          description: Filters the list to only show assets with a certain exchange code (e.g. only assets that can be traded in a certain exchange).
        - schema:
            type: string
          in: query
          name: isin
          description: Filters the list to only show an asset with certain ISIN
        - schema:
            $ref: '#/components/schemas/TraditionalAssetTypeEnum'
          in: query
          name: assetType
        - schema:
            type: boolean
          in: query
          name: savingsPlansEligible
          description: Filters the list to only show assets eligible for savings plans.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assets'
      description: Get assets
  /traditional/assets/{isin}/document:
    parameters:
      - schema:
          type: string
        name: isin
        in: path
        required: true
        description: ISIN of the asset
    get:
      summary: Get Assets Document
      operationId: get-assets-document
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      tags:
        - Assets
      description: Get document for a traditional asset
      parameters:
        - schema:
            title: LanguageEnum
            type: string
            description: Language code in ISO 639-1 two-letter codes (EU only)
            enum:
              - da
              - de
              - el
              - en
              - es
              - fi
              - fr
              - hu
              - it
              - lt
              - lv
              - mt
              - nl
              - pl
              - pt
              - ro
              - sk
              - sl
              - sv
            default: de
          x-is-enum: true
          name: language
          in: query
          description: Language of the document
        - schema:
            title: TraditionalAssetDocumentTypeEnum
            type: string
            description: Type of document for traditional assets
            enum:
              - kid
            default: kid
          x-is-enum: true
          name: documentType
          in: query
          description: Type of the document
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
  /traditional/ex-ante/{exAnteId}:
    get:
      summary: Get Ex-ante Receipt
      tags:
        - Documents
      x-operation-group: traditional-assets-query
      x-required-permissions: rs/traditional-assets/read
      operationId: get-traditional-asset-ex-ante-receipt
      parameters:
        - schema:
            type: string
            format: uuid
          name: exAnteId
          in: path
          required: true
          description: Id of the ex ante costs
      description: Get order receipt
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
  /traditional/ex-ante:
    post:
      summary: Ex-ante cost information
      description: Ex-ante cost information
      operationId: ex-ante-cost
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExAnteCostData'
            example:
              tradeSide: BUY
              quantityType: UNIT
              exchangeCode: TGAT
              orderType: Market
              isin: IE00B4L5Y983
              quantity: 10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExAnteCostResult'
              example:
                exAnteId: ex-ante-20250611-xyz001
                createdOn: '2025-06-11T10:23:00Z'
                asset:
                  isin: IE00B4L5Y983
                  type: ETF
                  name: iShares MSCI World
                order:
                  quantity: 10
                  tradeSide: BUY
                  exchangeCode: TGAT
                  grossAmount: 10000
                  pricePerUnit: 1000
                  currency: EUR
                costs:
                  - category: PURCHASE
                    type: TRANSACTION
                    value: 5
                    percent: 0.05
                    currency: EUR
                  - category: HOLDING
                    type: PRODUCT
                    value: 20
                    percent: 0.2
                    currency: EUR
                  - category: SALE
                    type: TRANSACTION
                    value: 3
                    percent: 0.03
                    currency: EUR
                total:
                  productCosts:
                    ter: 20
                    percent: 0.2
                  transactionFees:
                    currency: eur
                    feeAmount: 8
                    percent: 0.08
                  grants:
                    currency: EUR
                    grantsAmount: 0
                    percent: 0
                timeline:
                  year1:
                    currency: EUR
                    feeAmount: 5
                    percent: 0.25
                  fromYear2:
                    ter: 100
                    percent: 1
                  yearOfSale:
                    currency: EUR
                    feeAmount: 3
                    percent: 0.03
                metaInfo:
                  disclaimer: All values are based on real-time data and are non-binding estimates, assuming a holding period of five years.
                  explanation: Transaction fees include execution costs; TER applies only to ETFs.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
  /traditional/ex-ante/savings-plans:
    post:
      summary: Ex-ante cost information for savings plans
      description: Ex-ante cost information for savings plans
      operationId: ex-ante-savings-plans-cost
      x-operation-group: traditional-assets-command
      x-required-permissions: rs/traditional-assets/write
      tags:
        - Orders
      parameters:
        - schema:
            type: string
            format: uuid
          name: Requestor-ID
          in: header
          required: true
          description: Unique requestor identification in UUID format
          x-requestor-id: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExAnteSavingsPlansCostData'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExAnteSavingsPlansCostResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
components:
  schemas:
    Exchange:
      title: Exchange
      type: object
      description: Exchange
      properties:
        exchangeName:
          type: string
          description: The name of the exchange
        exchangeCode:
          type: string
          description: The MIC code of the exchange
      required:
        - exchangeName
        - exchangeCode
    Exchanges:
      title: Exchanges
      type: object
      properties:
        data:
          type: array
          description: Array of exchanges.
          items:
            $ref: '#/components/schemas/Exchange'
    Assets:
      title: Assets
      type: object
      properties:
        data:
          type: array
          description: Array of assets.
          items:
            $ref: '#/components/schemas/Asset'
        pagination:
          $ref: '#/components/schemas/Pagination'
      required:
        - data
        - pagination
    Asset:
      title: Asset
      type: object
      description: Asset
      properties:
        isin:
          type: string
          description: ISIN of the asset
        wkn:
          type: string
          description: WKN of the asset
        assetName:
          type: string
          description: The name of the asset
        assetType:
          $ref: '#/components/schemas/TraditionalAssetTypeEnum'
        assetRiskScore:
          $ref: '#/components/schemas/AssetRiskScoreEnum'
        fractionalTrading:
          type: boolean
          description: Determines whether the platform can handle fractional investments within this asset.
        savingsPlansEligible:
          type: boolean
          description: Indicates whether the asset is eligible for savings plans.
        totalExpenseRatio:
          type: number
          description: The total expense ratio of the asset.
        exchanges:
          type: array
          description: Array of asset exchanges.
          items:
            $ref: '#/components/schemas/AssetExchange'
      required:
        - isin
        - wkn
        - assetName
        - assetType
        - assetRiskScore
        - fractionalTrading
        - savingsPlansEligible
        - exchanges
    AssetExchange:
      title: AssetExchange
      type: object
      description: The exchange the asset is available for trading.
      properties:
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        tradingStatus:
          $ref: '#/components/schemas/TraditionalAssetTradingStatusEnum'
      required:
        - exchangeCode
        - tradingStatus
    AssetRiskScoreEnum:
      title: AssetRiskScoreEnum
      description: The risk classification of the asset
      enum:
        - '1'
        - '2'
        - '3'
    CreateOrderResult:
      title: CreateOrderResult
      type: object
      properties:
        orderId:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
      required:
        - orderId
        - createdOn
    OrderUpdate:
      title: OrderUpdate
      type: object
      properties:
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        quantity:
          type: number
          multipleOf: 1
          description: Number of shares or order amount
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        orderType:
          $ref: '#/components/schemas/TraditionalAssetOrderTypeEnum'
        limitPrice:
          type: number
          multipleOf: 0.01
          description: The limit price for orders of the type 'limit'.
        stopPrice:
          type: number
          multipleOf: 0.01
          description: The stop price for orders of the type 'stop'.
        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.
    Order:
      type: object
      properties:
        orderId:
          type: string
          format: uuid
        exAnteId:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
          description: The date on which the order was created
        modifiedOn:
          type: string
          format: date-time
          description: The date on which the order was modified the last time
        status:
          $ref: '#/components/schemas/TraditionalAssetOrderStatusEnum'
        message:
          type: string
        execution:
          $ref: '#/components/schemas/OrderExecution'
        partialExecutions:
          type: array
          description: List of partial executions
          items:
            $ref: '#/components/schemas/PartialExecution'
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product used for the order.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        isin:
          type: string
          description: ISIN of the asset
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
        quantity:
          type: number
          multipleOf: 1
          description: Number of shares
        orderType:
          $ref: '#/components/schemas/TraditionalAssetOrderTypeEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        limitPrice:
          type: number
          multipleOf: 0.001
          description: The limit price for orders of the type 'limit'.
        stopPrice:
          type: number
          multipleOf: 0.001
          description: The stop price for orders of the type 'stop'.
        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'
        externalId:
          type: string
          description: Order id in partner's system. This value has to be unique.
        asset_experience_fit:
          type: boolean
          description: |
            Only applicable if the user has failed the asset fit check for the asset type being ordered.
            True if the user has acknowledged their willingness to trade.
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
      required:
        - cashCustomerProductId
        - createdOn
        - depositoryCustomerProductId
        - exAnteId
        - exchangeCode
        - externalId
        - isin
        - modifiedOn
        - orderId
        - orderType
        - quantity
        - quantityType
        - status
        - tradeSide
      title: Order
    Orders:
      title: Orders
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Order'
        pagination:
          $ref: '#/components/schemas/Pagination'
      required:
        - data
        - pagination
    PositionSellData:
      title: PositionSellData
      type: object
      properties:
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance holding the position
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product the proceeds are credited to.
        isin:
          type: string
          description: ISIN of the asset to sell
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
      required:
        - depositoryCustomerProductId
        - cashCustomerProductId
        - isin
    OrderV2:
      type: object
      properties:
        orderId:
          type: string
          format: uuid
        exAnteId:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
          description: The date on which the order was created
        modifiedOn:
          type: string
          format: date-time
          description: The date on which the order was modified the last time
        status:
          $ref: '#/components/schemas/TraditionalAssetOrderStatusEnum'
        message:
          type: string
        execution:
          $ref: '#/components/schemas/OrderExecution'
        partialExecutions:
          type: array
          description: List of partial executions
          items:
            $ref: '#/components/schemas/PartialExecution'
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product used for the order.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        isin:
          type: string
          description: ISIN of the asset
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
        quantity:
          type: number
          description: |-
            Number of shares. Whole for ordinary orders; may carry a fractional remainder for
            position sells created through `/traditional/orders/sell-all` or
            `/traditional/orders/fractional-sell`.
        orderType:
          $ref: '#/components/schemas/TraditionalAssetOrderTypeEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        limitPrice:
          type: number
          multipleOf: 0.001
          description: The limit price for orders of the type 'limit'.
        stopPrice:
          type: number
          multipleOf: 0.001
          description: The stop price for orders of the type 'stop'.
        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'
        externalId:
          type: string
          description: Order id in partner's system. This value has to be unique.
        asset_experience_fit:
          type: boolean
          description: |
            Only applicable if the user has failed the asset fit check for the asset type being ordered.
            True if the user has acknowledged their willingness to trade.
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
      required:
        - cashCustomerProductId
        - createdOn
        - depositoryCustomerProductId
        - exAnteId
        - exchangeCode
        - externalId
        - isin
        - modifiedOn
        - orderId
        - orderType
        - quantity
        - quantityType
        - status
        - tradeSide
      title: OrderV2
      description: |-
        Same as `Order`, except that `quantity` may be fractional because position sells are
        included.
    OrdersV2:
      title: OrdersV2
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrderV2'
        pagination:
          $ref: '#/components/schemas/Pagination'
      required:
        - data
        - pagination
    OrderExecution:
      title: OrderExecution
      type: object
      properties:
        executionPrice:
          type: number
          description: The average price per unit of the total execution
        executionQuantity:
          type: number
        remainingQuantity:
          type: number
        valueDate:
          type: string
          format: date
        bookingDate:
          type: string
          format: date
        transactionTime:
          type: string
          format: date-time
        amount:
          type: number
          multipleOf: 0.01
          example: -1523.25
          description: Total sum of all executions excluding fees.
        feeAmount:
          type: number
          multipleOf: 0.01
          example: -1523.25
        feeDescription:
          type: string
        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
        amountCurrency:
          $ref: '#/components/schemas/CurrencyEnum'
      required:
        - executionPrice
        - executionQuantity
        - transactionTime
        - amount
        - amountCurrency
        - germanCit
        - solidaritySurcharge
        - churchTax
    PartialExecution:
      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'
        feeAmount:
          type: number
          multipleOf: 0.01
          example: 1.01
        feeDescription:
          type: string
      required:
        - executionId
        - executionPrice
        - executionQuantity
        - executionTime
        - amount
        - valueDate
        - bookingDate
        - status
    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
      required:
        - germanCit
        - solidaritySurcharge
        - churchTax
    MarketOrderData:
      title: MarketOrderData
      type: object
      properties:
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product used for the order.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        isin:
          type: string
          description: ISIN of the asset
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
        quantity:
          type: number
          multipleOf: 1
          description: Number of shares
        externalId:
          type: string
          description: Order id in partner's system. This value has to be unique.
      required:
        - depositoryCustomerProductId
        - cashCustomerProductId
        - tradeSide
        - quantityType
        - exchangeCode
        - isin
        - quantity
        - externalId
    LimitOrderData:
      title: LimitOrderData
      type: object
      properties:
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product used for the order.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        isin:
          type: string
          description: ISIN of the asset
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
        quantity:
          type: number
          multipleOf: 1
          description: Number of shares
        limitPrice:
          type: number
          multipleOf: 0.001
          description: The limit price for orders of the type 'limit'.
        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'
        externalId:
          type: string
          description: Order id in partner's system. This value has to be unique.
      required:
        - depositoryCustomerProductId
        - cashCustomerProductId
        - tradeSide
        - quantityType
        - exchangeCode
        - isin
        - quantity
        - limitPrice
        - expiryDate
        - externalId
    StopOrderData:
      title: StopOrderData
      type: object
      properties:
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product used for the order.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        isin:
          type: string
          description: ISIN of the asset
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
        quantity:
          type: number
          multipleOf: 1
          description: Number of shares
        stopPrice:
          type: number
          multipleOf: 0.001
          description: The stop price for orders of the type 'stop'.
        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'
        externalId:
          type: string
          description: Order id in partner's system. This value has to be unique.
      required:
        - depositoryCustomerProductId
        - cashCustomerProductId
        - tradeSide
        - quantityType
        - exchangeCode
        - isin
        - quantity
        - stopPrice
        - expiryDate
        - externalId
    OrderData:
      title: OrderData
      type: object
      properties:
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product used for the order.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        isin:
          type: string
          description: ISIN of the asset
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
        quantity:
          type: number
          multipleOf: 1
          description: Number of shares
        orderType:
          $ref: '#/components/schemas/TraditionalAssetOrderTypeEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        limitPrice:
          type: number
          multipleOf: 0.001
          description: The limit price for orders of the type 'limit'.
        stopPrice:
          type: number
          multipleOf: 0.001
          description: The stop price for orders of the type 'stop'.
        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'
        externalId:
          type: string
          description: Order id in partner's system. This value has to be unique.
        asset_experience_fit:
          type: boolean
          description: |
            Only applicable if the user has failed the asset fit check for the asset type being ordered.
            True if the user has acknowledged their willingness to trade.
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
      required:
        - depositoryCustomerProductId
        - cashCustomerProductId
        - isin
        - tradeSide
        - quantity
        - externalId
        - quantityType
        - orderType
        - exchangeCode
    OrderDataV2:
      title: OrderDataV2
      description: |-
        Copy of `OrderData` whose `quantity` carries no `multipleOf` constraint, because position
        sells settle fractional quantities. `OrderData` keeps its whole-share guarantee for the
        unversioned endpoints.
      type: object
      properties:
        depositoryCustomerProductId:
          type: string
          format: uuid
          description: The identifier of the depository customer product instance
        cashCustomerProductId:
          type: string
          format: uuid
          description: Cash customer product used for the order.
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        isin:
          type: string
          description: ISIN of the asset
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
          example: US38259P5089
        quantity:
          type: number
          description: |-
            Number of shares. Whole for ordinary orders; may carry a fractional remainder for
            position sells created through `/traditional/orders/sell-all` or
            `/traditional/orders/fractional-sell`.
        orderType:
          $ref: '#/components/schemas/TraditionalAssetOrderTypeEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        limitPrice:
          type: number
          multipleOf: 0.001
          description: The limit price for orders of the type 'limit'.
        stopPrice:
          type: number
          multipleOf: 0.001
          description: The stop price for orders of the type 'stop'.
        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'
        externalId:
          type: string
          description: Order id in partner's system. This value has to be unique.
        asset_experience_fit:
          type: boolean
          description: |
            Only applicable if the user has failed the asset fit check for the asset type being ordered.
            True if the user has acknowledged their willingness to trade.
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
      required:
        - depositoryCustomerProductId
        - cashCustomerProductId
        - isin
        - tradeSide
        - quantity
        - externalId
        - quantityType
        - orderType
        - exchangeCode
    ExAnteCostData:
      title: ExAnteCostData
      type: object
      properties:
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        quantityType:
          $ref: '#/components/schemas/TraditionalAssetOrderQuantityTypeEnum'
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        orderType:
          $ref: '#/components/schemas/TraditionalAssetOrderTypeEnum'
        isin:
          type: string
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
        quantity:
          type: number
          multipleOf: 1
        price:
          type: number
          multipleOf: 0.001
          description: This property represents the limit or stop price depending on the order type. It is required for stop/limit orders.
      required:
        - tradeSide
        - quantityType
        - exchangeCode
        - orderType
        - isin
        - quantity
    ExAnteCostResult:
      title: ExAnteCostResult
      type: object
      properties:
        exAnteId:
          type: string
        createdOn:
          type: string
          format: date-time
        asset:
          $ref: '#/components/schemas/AssetCostInfo'
        order:
          $ref: '#/components/schemas/OrderCostInfo'
        purchaseCosts:
          $ref: '#/components/schemas/TransactionFees'
        productCosts:
          $ref: '#/components/schemas/ProductCosts'
        saleCosts:
          $ref: '#/components/schemas/TransactionFees'
        total:
          $ref: '#/components/schemas/TotalCost'
        timeline:
          $ref: '#/components/schemas/TimelineCost'
        metaInfo:
          $ref: '#/components/schemas/MetaInfo'
      required:
        - exAnteId
        - createdOn
        - asset
        - order
        - purchaseCosts
        - productCosts
        - saleCosts
        - total
        - timeline
        - metaInfo
    AssetCostInfo:
      title: AssetCostInfo
      type: object
      properties:
        isin:
          type: string
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
        type:
          $ref: '#/components/schemas/TraditionalAssetTypeEnum'
        name:
          type: string
      required:
        - isin
        - type
        - name
    OrderCostInfo:
      title: OrderCostInfo
      type: object
      properties:
        quantity:
          type: number
          multipleOf: 1
        tradeSide:
          $ref: '#/components/schemas/TradeSideEnum'
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        grossAmount:
          type: number
          multipleOf: 0.01
        pricePerUnit:
          type: number
          multipleOf: 0.01
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
      required:
        - quantity
        - tradeSide
        - exchangeCode
        - grossAmount
        - pricePerUnit
        - currency
    TotalCost:
      title: TotalCost
      type: object
      properties:
        productCosts:
          $ref: '#/components/schemas/ProductCosts'
        transactionFees:
          $ref: '#/components/schemas/TransactionFees'
        grants:
          $ref: '#/components/schemas/Grants'
      required:
        - productCosts
        - transactionFees
        - grants
    TimelineCost:
      title: TimelineCost
      type: object
      properties:
        year1:
          $ref: '#/components/schemas/TransactionFees'
        fromYear2:
          $ref: '#/components/schemas/ProductCosts'
        yearOfSale:
          $ref: '#/components/schemas/TransactionFees'
      required:
        - year1
        - fromYear2
        - yearOfSale
    SavingsPlanTimelineCost:
      title: SavingsPlanTimelineCost
      type: object
      properties:
        year1:
          $ref: '#/components/schemas/TransactionFees'
        year2:
          $ref: '#/components/schemas/TransactionFees'
        year3:
          $ref: '#/components/schemas/TransactionFees'
        year4:
          $ref: '#/components/schemas/TransactionFees'
        year5:
          $ref: '#/components/schemas/TransactionFees'
        yearOfSale:
          $ref: '#/components/schemas/TransactionFees'
      required:
        - year1
        - year2
        - year3
        - year4
        - year5
        - yearOfSale
    ProductCosts:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        ter:
          type: number
          multipleOf: 0.01
        percent:
          type: number
          multipleOf: 0.01
      required:
        - currency
        - ter
        - percent
    TransactionFees:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        feeAmount:
          type: number
          multipleOf: 0.01
        percent:
          type: number
          multipleOf: 0.01
      required:
        - currency
        - feeAmount
        - percent
    Grants:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        grantsAmount:
          type: number
          multipleOf: 0.01
        percent:
          type: number
          multipleOf: 0.01
      required:
        - currency
        - grantsAmount
        - percent
    MetaInfo:
      title: MetaInfo
      type: object
      properties:
        disclaimer:
          type: string
        explanation:
          type: string
      required:
        - disclaimer
        - explanation
    ExAnteSavingsPlansCostData:
      title: ExAnteSavingsPlansCostData
      type: object
      properties:
        isin:
          type: string
          pattern: ^[A-Z]{2}[A-Z0-9]{10}$
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        savingsAmount:
          type: number
          multipleOf: 0.01
          description: Monthly savings amount in EUR
        intervalPeriod:
          $ref: '#/components/schemas/SavingsPlansIntervalPeriodEnum'
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
      required:
        - isin
        - exchangeCode
        - savingsAmount
        - intervalPeriod
        - startDate
    ExAnteSavingsPlansCostResult:
      title: ExAnteSavingsPlansCostResult
      type: object
      properties:
        exAnteId:
          type: string
        createdOn:
          type: string
          format: date-time
        asset:
          $ref: '#/components/schemas/AssetCostInfo'
        savingsPlans:
          $ref: '#/components/schemas/SavingsPlansCostInfo'
        purchaseCosts:
          $ref: '#/components/schemas/TransactionFees'
        productCosts:
          $ref: '#/components/schemas/ProductCosts'
        saleCosts:
          $ref: '#/components/schemas/TransactionFees'
        total:
          $ref: '#/components/schemas/TotalCost'
        timeline:
          $ref: '#/components/schemas/SavingsPlanTimelineCost'
        metaInfo:
          $ref: '#/components/schemas/MetaInfo'
      required:
        - exAnteId
        - createdOn
        - asset
        - savingsPlans
        - purchaseCosts
        - productCosts
        - saleCosts
        - total
        - timeline
        - metaInfo
    SavingsPlansCostInfo:
      title: SavingsPlansCostInfo
      type: object
      properties:
        exchangeCode:
          $ref: '#/components/schemas/TraditionalAssetExchangeCodeEnum'
        savingsAmount:
          type: number
          multipleOf: 0.01
          description: Monthly savings amount in EUR
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
        intervalPeriod:
          $ref: '#/components/schemas/SavingsPlansIntervalPeriodEnum'
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        annualAmount:
          type: number
          multipleOf: 0.01
          description: Annual savings amount (savingsAmount * 12)
      required:
        - exchangeCode
        - savingsAmount
        - currency
        - intervalPeriod
        - startDate
        - annualAmount
    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
    CurrencyEnum:
      title: CurrencyEnum
      type: string
      description: Currency of the product's balance. Currency code in ISO 4217
      enum:
        - EUR
    TradeSideEnum:
      title: TradeSideEnum
      type: string
      enum:
        - BUY
        - SELL
    TraditionalAssetOrderTypeEnum:
      title: TraditionalAssetOrderTypeEnum
      type: string
      enum:
        - LIMIT
        - MARKET
        - STOP
    TraditionalAssetOrderQuantityTypeEnum:
      title: TraditionalAssetOrderQuantityTypeEnum
      type: string
      enum:
        - UNIT
    TraditionalAssetExchangeCodeEnum:
      title: TraditionalAssetExchangeCodeEnum
      type: string
      enum:
        - TGAT
        - XFRA
    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
    SortDirectionEnum:
      title: SortDirectionEnum
      type: string
      enum:
        - ASC
        - DESC
    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
    TraditionalAssetTradingStatusEnum:
      title: TraditionalAssetTradingStatusEnum
      type: string
      description: The status of the asset trading
      enum:
        - ACTIVE
        - INACTIVE
    TraditionalAssetTypeEnum:
      title: TraditionalAssetTypeEnum
      type: string
      description: The type of the traditional asset
      enum:
        - BOND
        - ETF
        - EQUITY
        - FUND
        - COMMODITY
        - DERIVATIVE
        - ETN
        - UNKNOWN
    LanguageEnum:
      title: LanguageEnum
      type: string
      description: Language code in ISO 639-1 two-letter codes (EU only)
      enum:
        - da
        - de
        - el
        - en
        - es
        - fi
        - fr
        - hu
        - it
        - lt
        - lv
        - mt
        - nl
        - pl
        - pt
        - ro
        - sk
        - sl
        - sv
    TraditionalAssetDocumentTypeEnum:
      title: TraditionalAssetDocumentTypeEnum
      type: string
      description: Type of document for traditional assets
      enum:
        - kid
    SavingsPlansIntervalPeriodEnum:
      title: SavingsPlansIntervalPeriodEnum
      type: string
      enum:
        - MONTH
  securitySchemes:
    Bearer:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          refreshUrl: ''
          scopes: {}
x-tagGroups:
  - name: Orders
    tags:
      - Orders
  - name: Assets
    tags:
      - Assets
  - name: Order Documents
    tags:
      - Documents
