eToro Trading - Demo API

The Trading - Demo API from eToro — 18 operation(s) for trading - demo.

OpenAPI Specification

etoro-trading-demo-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Deprecated eToro Public API operations Agent Portfolios Trading - Demo API
  version: v1.158.0
  description: Snapshot of API operations that existed in the previous docs OpenAPI file and are no longer present in the current upstream Swagger.
tags:
- name: Trading - Demo
paths:
  /api/v1/trading/execution/demo/limit-orders:
    post:
      tags:
      - Trading - Demo
      summary: Places a Market-if-touched order (similar to Limit order) to open a position when a threshold price is reached.
      description: A Market-if-touched order is an order to open a new long or short position when a specific price or better appears in the Market. The price threshold is used to trigger a Market Order. This endpoint allows traders to set up Market-if-touched orders with parameters like leverage, stop-loss, and take-profit settings.
      operationId: openLimitOrderDemo
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                InstrumentID:
                  type: integer
                  format: int32
                  description: The unique identifier of the financial instrument.
                IsBuy:
                  type: boolean
                  description: Indicates whether the order will open a long (true) or short (false) position.
                Leverage:
                  type: integer
                  format: int32
                  description: The leverage ratio for the order.
                Amount:
                  type: number
                  format: double
                  nullable: true
                  description: The amount of the trade in the account currency [USD]. Required if AmountInUnits is not provided.
                AmountInUnits:
                  type: number
                  format: double
                  nullable: true
                  description: 'The number of units of the asset. Required if Amount is not provided. For most assets this can be a fractional number. Note that for Future Contracts this number should indicate the number of underlying units, and not the number of contracts, according to the formula: AmountInUnits = contract multiplier * number of contracts.'
                StopLossRate:
                  type: number
                  format: double
                  description: The stop-loss trigger price at which the position will generate a Market Order to close (after it was opened). StopLoss trigger price must be worse than current price.
                TakeProfitRate:
                  type: number
                  format: double
                  description: The take-profit trigger price at which the position will generate a Market Order to close (after it has opened). TakeProfit trigger price must be better than the current price.
                Rate:
                  type: number
                  format: double
                  description: The trigger price at which a Market order to open the position will be sent for execution. The trigger price must be better than the current price. This means that the trigger price must be lower than current price for Long positions, and higher than current price for Short positions.
                IsTslEnabled:
                  type: boolean
                  nullable: true
                  description: Indicates if a trailing stop loss (TSL) is enabled. This means that the stoploss rate indicated will get updated automatically whenever the asset price increases (for long positions) or decreases (for short position) effectively keeping the stoploss in a constant gap from the best price achieved so far.
                IsDiscounted:
                  type: boolean
                  nullable: true
                  description: SHOULD NOT BE EXTERNALZIED
                IsNoStopLoss:
                  type: boolean
                  nullable: true
                  description: Indicates if stop-loss is disabled.
                IsNoTakeProfit:
                  type: boolean
                  nullable: true
                  description: Indicates if take-profit is disabled.
                CID:
                  type: integer
                  format: int32
                  description: SHOULD NOT BE EXTERNALIZED.
              additionalProperties: false
      responses:
        '200':
          description: Market-if-touched order successfully placed. The response includes a confirmation token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  token:
                    type: string
                    format: uuid
                    description: A confirmation token indicating the order creation.
                required:
                - token
              example:
                token: 9af05785-be29-482d-a892-9d9be4fd34bc
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: 26fab899-92be-42c8-9d60-ca63bc08cd14
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
  /api/v1/trading/execution/demo/limit-orders/{orderId}:
    delete:
      tags:
      - Trading - Demo
      summary: Cancels a Market-if-touched order that has not yet been executed.
      description: This endpoint allows traders to cancel a Market-if-touched order before it is executed. Once canceled, the order will no longer be processed.
      operationId: cancelLimitOrderDemo
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: ba08e8a6-1a49-450e-8f4f-15fe111976d1
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      - name: orderId
        in: path
        required: true
        schema:
          type: integer
          format: int64
        description: The unique identifier of the Market-if-touched order to be canceled.
      responses:
        '200':
          description: Successfully canceled the Market-if-touched order. The response includes a confirmation token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  token:
                    type: string
                    format: uuid
                    description: A confirmation token indicating the order cancellation.
                required:
                - token
              example:
                token: 9af05785-be29-482d-a892-9d9be4fd34bc
  /api/v1/trading/execution/demo/market-open-orders/by-amount:
    post:
      tags:
      - Trading - Demo
      summary: Create a market order to open a position by specifying the amount of cash you would like to use in the trade.
      description: This endpoint allows traders to place a market order to open a position by specifying the investment amount instead of specifying the number of units. The trade will be executed at the market price, and leverage, stop-loss, and take-profit settings can be applied.
      operationId: openMarketPositionByAmountDemo
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                InstrumentID:
                  type: integer
                  format: int32
                  description: The unique identifier of the financial instrument to trade.
                IsBuy:
                  type: boolean
                  description: True for a long position, false for a short position.
                Leverage:
                  type: integer
                  format: int32
                  description: The leverage multiplier for the trade.
                Amount:
                  type: number
                  format: double
                  description: The amount of money to invest in the trade.
                StopLossRate:
                  type: number
                  format: double
                  nullable: true
                  description: The stop-loss trigger price at which the position will generate a Market Order to close (after it was opened). StopLoss trigger price must be worse than current price.
                TakeProfitRate:
                  type: number
                  format: double
                  nullable: true
                  description: The take-profit trigger price at which the position will generate a Market Order to close (after it has opened). TakeProfit trigger price must be better than the current price.
                IsTslEnabled:
                  type: boolean
                  nullable: true
                  description: Indicates if a trailing stop loss (TSL) is enabled. This means that the stoploss rate indicated will get updated automatically whenever the asset price increases (for long positions) or decreases (for short position) effectively keeping the stoploss in a constant gap from the best price achieved so far.
                IsNoStopLoss:
                  type: boolean
                  nullable: true
                  description: True if no stop-loss is set for this order.
                IsNoTakeProfit:
                  type: boolean
                  nullable: true
                  description: True if no take-profit is set for this order.
              required:
              - InstrumentID
              - IsBuy
              - Leverage
              - Amount
      responses:
        '200':
          description: Successfully opened a market order.
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderForOpen:
                    type: object
                    properties:
                      instrumentID:
                        type: integer
                        description: The ID of the traded instrument.
                      amount:
                        type: integer
                        description: The invested amount.
                      isBuy:
                        type: boolean
                        description: True for a long position, false for a short position.
                      leverage:
                        type: integer
                        description: The leverage applied to the trade.
                      stopLossRate:
                        type: integer
                        description: The stop-loss threshold rate, if applicable.
                      takeProfitRate:
                        type: integer
                        description: The take-profit thereshold rate, if applicable.
                      isTslEnabled:
                        type: boolean
                        description: Indicates if trailing stop-loss is enabled.
                      mirrorID:
                        type: integer
                        description: ID related to mirrored trades, if applicable.
                      totalExternalCosts:
                        type: integer
                        description: Total external costs associated with opening the trade.
                      orderID:
                        type: integer
                        description: The unique order identifier.
                      orderType:
                        type: integer
                        description: The type of order executed.
                      statusID:
                        type: integer
                        description: The status of the order.
                      CID:
                        type: integer
                        description: Customer ID associated with the order.
                      openDateTime:
                        type: string
                        format: date-time
                        description: The timestamp when the order was opened.
                      lastUpdate:
                        type: string
                        format: date-time
                        description: The last update timestamp of the order.
                  token:
                    type: string
                    format: uuid
                    description: A unique confirmation token for the order.
              example:
                orderForOpen:
                  instrumentID: 100000
                  amount: 150
                  isBuy: true
                  leverage: 1
                  stopLossRate: 0
                  takeProfitRate: 0
                  isTslEnabled: false
                  mirrorID: 0
                  totalExternalCosts: 0
                  orderID: 13902598
                  orderType: 17
                  statusID: 1
                  CID: 7765437
                  openDateTime: '2025-04-02T15:47:15.9370502Z'
                  lastUpdate: '2025-04-02T15:47:15.9370502Z'
                token: 066faaee-e1e9-49d2-a568-c6e1cc336ad8
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: eff9aecd-c392-45be-b379-dfc16a2da2e7
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
  /api/v1/trading/execution/demo/market-open-orders/by-units:
    post:
      tags:
      - Trading - Demo
      summary: Places a Market Order to open a position by specifying the number of units you would like to trade.
      description: This endpoint allows traders to place a market order to open a position by specifying the number of units (rather than an amount in cash). The trade is executed at the current market price, and optional settings like leverage, stop-loss, and take-profit can be applied.
      operationId: openMarketPositionByUnitsDemo
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                InstrumentID:
                  type: integer
                  format: int32
                  description: The unique identifier of the financial instrument to trade.
                IsBuy:
                  type: boolean
                  description: True for a long position, false for a short position.
                Leverage:
                  type: integer
                  format: int32
                  description: The leverage multiplier for the trade.
                AmountInUnits:
                  type: number
                  format: double
                  description: 'The number of units of the asset. Required if Amount is not provided. For most assets this can be a fractional number. Note that for Future Contracts this number should indicate the number of underlying units, and not the number of contracts, according to the formula: AmountInUnits = contract multiplier * number of contracts.'
                StopLossRate:
                  type: number
                  format: double
                  nullable: true
                  description: The stop-loss trigger price at which the position will generate a Market Order to close (after it was opened). StopLoss trigger price must be worse than current price.
                TakeProfitRate:
                  type: number
                  format: double
                  nullable: true
                  description: The take-profit trigger price at which the position will generate a Market Order to close (after it has opened). TakeProfit trigger price must be better than the current price.
                IsTslEnabled:
                  type: boolean
                  nullable: true
                  description: Indicates if a trailing stop loss (TSL) is enabled. This means that the stoploss rate indicated will get updated automatically whenever the asset price increases (for long positions) or decreases (for short position) effectively keeping the stoploss in a constant gap from the best price achieved so far.
                IsNoStopLoss:
                  type: boolean
                  nullable: true
                  description: True if no stop-loss is set for this order.
                IsNoTakeProfit:
                  type: boolean
                  nullable: true
                  description: True if no take-profit is set for this order.
              required:
              - InstrumentID
              - IsBuy
              - Leverage
              - AmountInUnits
      responses:
        '200':
          description: Successfully opened a market order.
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderForOpen:
                    type: object
                    properties:
                      instrumentID:
                        type: integer
                        description: The ID of the traded instrument.
                      amount:
                        type: integer
                        description: The amount invested in the trade.
                      amountInUnits:
                        type: number
                        format: double
                        description: The number of units traded.
                      isBuy:
                        type: boolean
                        description: True for a long position, false for a short position.
                      leverage:
                        type: integer
                        description: The leverage applied to the trade.
                      stopLossRate:
                        type: integer
                        description: The stop-loss threshold rate, if applicable.
                      takeProfitRate:
                        type: integer
                        description: The take-profit thereshold rate, if applicable.
                      isTslEnabled:
                        type: boolean
                        description: Indicates if trailing stop-loss is enabled.
                      mirrorID:
                        type: integer
                        description: ID related to mirrored trades, if applicable.
                      totalExternalCosts:
                        type: integer
                        description: Total external costs associated with the trade.
                      lotCount:
                        type: integer
                        description: The number of lots in the order.
                      orderID:
                        type: integer
                        description: The unique order identifier.
                      orderType:
                        type: integer
                        description: The type of order executed.
                      statusID:
                        type: integer
                        description: The status of the order.
                      CID:
                        type: integer
                        description: Customer Account ID associated with the order.
                      openDateTime:
                        type: string
                        format: date-time
                        description: The timestamp when the order was opened.
                      lastUpdate:
                        type: string
                        format: date-time
                        description: The last update timestamp of the order.
                  token:
                    type: string
                    format: uuid
                    description: A unique confirmation token for the order.
              example:
                orderForOpen:
                  instrumentID: 100000
                  amount: 0
                  amountInUnits: 0.001
                  isBuy: true
                  leverage: 1
                  stopLossRate: 0
                  takeProfitRate: 0
                  isTslEnabled: false
                  mirrorID: 0
                  totalExternalCosts: 0
                  lotCount: 0
                  orderID: 13906629
                  orderType: 18
                  statusID: 1
                  CID: 7765437
                  openDateTime: '2025-04-02T15:56:50.7496838Z'
                  lastUpdate: '2025-04-02T15:56:50.7496838Z'
                token: 43ceb769-cff6-45ec-8ad7-292b7401353f
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: f4ce3033-f7d7-426d-96b4-f261ef64c05e
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
  /api/v1/trading/execution/demo/market-open-orders/{orderId}:
    delete:
      tags:
      - Trading - Demo
      summary: Cancels a market order for open before it is executed.
      description: This endpoint allows traders to cancel a market order for open before execution. If the order has already been processed, cancellation will not be possible.
      operationId: cancelOpenMarketOrderDemo
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: a8518935-f0d8-49d8-9c15-c04a665da4dd
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      - name: orderId
        in: path
        required: true
        schema:
          type: integer
          format: int64
        description: The unique identifier of the market order for open to be canceled.
      responses:
        '200':
          description: Successfully canceled the pending market order. The response includes a confirmation token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  token:
                    type: string
                    format: uuid
                    description: A confirmation token indicating the order cancellation.
                required:
                - token
              example:
                token: 9af05785-be29-482d-a892-9d9be4fd34bc
  /api/v1/trading/info/demo/orders/{orderId}:
    get:
      tags:
      - Trading - Demo
      summary: Get Order Information and Position Details for Demo Account
      description: Retrieves comprehensive information about a specific order for opening a position, including the order status, execution details, and all positions that were opened from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details.
      operationId: getDemoOrderForOpenInfo
      security:
      - bearerAuth: []
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: d2821231-fe26-4031-9c20-337104b4efaa
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      - name: orderId
        in: path
        required: true
        description: The unique identifier of the order for opening a position. This is the OrderID that was returned when the order was initially created.
        schema:
          type: integer
          format: int64
        example: 123456789
      responses:
        '200':
          description: Successfully retrieved order information and associated position details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderForOpenInfoResponse'
              example:
                token: 550e8400-e29b-41d4-a716-446655440000
                orderID: 123456789
                cid: 987654321
                statusID: 1
                orderType: 1
                openActionType: 1
                errorCode: null
                errorMessage: null
                instrumentID: 67890
                amount: 1000.0
                units: 10.5
                requestOccurred: '2024-01-15T10:30:00Z'
                positions:
                - positionID: 9876543210
                  orderType: 1
                  occurred: '2024-01-15T10:30:15Z'
                  rate: 1.2345
                  units: 10.5
                  conversionRate: 1.0
                  amount: 1000.0
                  isOpen: true
        '400':
          description: Bad Request - Invalid orderId format, or validation error occurred.
        '404':
          description: Not Found - The specified order was not found for the provided OrderID.
        '500':
          description: Internal Server Error - An unexpected error occurred while processing the request.
  /api/v1/trading/info/demo/eligibility:
    post:
      tags:
      - Trading - Demo
      summary: Check trading permissions, limits, and available leverage for one or more instruments
      description: Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments.
      operationId: getInstrumentEligibilityDemo
      security:
      - bearerAuth: []
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: 21e80d1f-5f99-4f93-b337-5f5e63582279
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstrumentEligibilityRequest'
            example:
              instrumentIds:
              - 1001
              symbols:
              - AAPL
              currency: USD
      responses:
        '200':
          description: Eligibility resolved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstrumentEligibilityResponse'
              example:
                currency: USD
                eligibilities:
                - instrumentId: 1001
                  symbol: AAPL
                  minPositionExposure: 50.0
                  maxUnitsPerOrder: 10000.0
                  allowOpenPosition: true
                  allowClosePosition: true
                  allowPartialClosePosition: true
                  allowMitOrders: true
                  allowEntryOrders: false
                  allowExitOrders: false
                  allowTrailingStopLoss: true
                  requiresW8Ben: null
                  unitsQuantityType: FractionalUnits
                  orderFillBehaviorType: BestEffort
                  allowedOrderQuantityType: Both
                  tradeUnitType: Units
                  initialMarginInAssetCurrency: null
                  stopLossMarginInAssetCurrency: null
                  additionalBufferPercent: null
                  leverageConfigs:
                  - settlementType: CFD
                    direction: LONG
                    leverageValues:
                    - 1
                    - 2
                    - 5
                    isPotential: false
                    minPositionAmount: 50.0
                    allowEditStopLoss: true
                    minStopLossPercentage: 5.0
                    maxStopLossPercentage: 50.0
                    defaultStopLossPercentage: 50.0
                    allowEditTakeProfit: true
                    minTakeProfitPercentage: 5.0
                    maxTakeProfitPercentage: 1000.0
                    defaultTakeProfitPercentage: 1000.0
                    allowStopLossTakeProfit: true
                notFoundInstrumentIds: []
                notFoundSymbols: []
        '400':
          description: Invalid request. Validation failed.
          content:
            ap

# --- truncated at 32 KB (152 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/etoro/refs/heads/main/openapi/etoro-trading-demo-api-openapi.yml