---
title: "Get portfolio breakdown"
method: GET
path: "/api/v1/trading/info/portfolio"
tags: ["Trading - Real"]
---

# Get portfolio breakdown

`GET /api/v1/trading/info/portfolio`

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
- `GET /api/v1/trading/info/aggregate-portfolio`
- `GET /api/v1/trading/info/real/pnl`

---

Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.

## Headers

- `x-request-id` string, uuid, required
- `x-api-key` string, password, required
- `x-user-key` string, password, required

## Response `200`

Successfully retrieved portfolio information

- PortfolioResponse — Comprehensive portfolio information including positions, orders, and account status
  - `clientPortfolio` object — Container for all portfolio-related information
    - `positions` TradingDemoApiPosition[] — List of currently open trading positions
      - `positionID` integer — Unique identifier for the position
      - `CID` integer — Customer ID associated with the position
      - `openDateTime` string, date-time — Timestamp when the position was opened in ISO 8601 format
      - `openRate` number, float — Entry price of the position in the instrument's currency
      - `instrumentID` integer — Identifier of the traded instrument
      - `mirrorID` integer — Mirror ID if the position is part of copy trading, 0 otherwise
      - `parentPositionID` integer — Parent position ID for mirrored positions, 0 otherwise
      - `isBuy` boolean — Position direction: true for long (buy) positions, false for short (sell) positions
      - `leverage` number, float — Leverage multiplier applied to the position
      - `takeProfitRate` number, float — 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.
      - `stopLossRate` number, float — 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.
      - `amount` number, float — USD amount allocated to the position. This amount includes both the initial investment, and additional margin allocated to the position as collateral
      - `orderID` integer — Original orderID the position was opened by. Need to match together with orderType
      - `orderType` integer — Original orderType of the order the position was opened by. Need to match together with orderID
      - `units` number, float — Number of units in the position
      - `totalFees` number, float — Total overnight fees and dividends charged/paid on the position in USD. Negative amount represents refund
      - `initialAmountInDollars` number, float — Initial investment USD amount in the position
      - `isTslEnabled` boolean — Indication if TrailingStopLoss feature is active on this position
      - `stopLossVersion` integer — Manual stop loss edit version. Each time StopLossRate is manually update this value is incremented
      - `isSettled` boolean — Obsolete
      - `redeemStatusID` integer — If the position is currently in redeem process, this value represents the current status
      - `initialUnits` number, float — Initial invested units in the position
      - `isPartiallyAltered` boolean — Indication whether this position was partially closed
      - `unitsBaseValueDollars` number, float — Current units invested value in USD
      - `isDiscounted` boolean — Obsolete
      - `openPositionActionType` integer — Position open reason
      - `settlementTypeID` integer — Position investment type. 0 - CFD, 1 - Real Asset, 2 - SWAP, 3 - Crypto MarginTrade, 4 - Future Contract
      - `isDetached` boolean — Indication if the position was originally opened inside a mirror and detached from it
      - `openConversionRate` number, float — Conversion rate at position opening
      - `pnlVersion` integer — Pnl formula used for calculating profit and loss
      - `totalExternalFees` number, float — Total fees in USD charged on the position. Example - TicketFee. This value does not include overnight fees and dividends
      - `totalExternalTaxes` number, float — Total taxes in USD charged on the position. Example - SDRT
      - `isNoTakeProfit` boolean — Indication if TakeProfit is enabled for the position. false = enabled, true = disabled
      - `isNoStopLoss` boolean — Indication if StopLoss is enabled for the position. false = enabled, true = disabled
      - `lotCount` number, float — Number of lots the position represents. For FutureContracts this value represents the number of contracts acquired
    - `credit` number, float — Available trading balance in USD, representing funds available for new positions
    - `mirrors` object[] — Copy trading configurations and positions
      - `mirrorID` integer — Unique identifier for the mirror trading configuration
      - `CID` integer — Customer ID associated with the mirror
      - `parentCID` integer — Customer ID of the trader being copied
      - `stopLossPercentage` number, float — The precentage of the mirror value that the StopLossAmount represented at the time of the last edit. Adding or removing funds from the mirror will trigger recalculation of StopLossAmount based on this value compared to the current mirror value
      - `isPaused` boolean — Indication if the mirror is currently paused, restricting open of additional positions inside the mirror
      - `copyExistingPositions` boolean — Indication if mirror originally copied all parent existing position on mirror registration
      - `availableAmount` number, float — Available to trade USD balance in the mirror. This balance is reserved for mirror operations
      - `stopLossAmount` number, float — USD value of the mirror at which MirrorStopLoss will be triggered and cause liquidation of the mirror. Adding or removing funds from the mirror will trigger recalculation of this value based on StopLossPercentage compared to the current mirror value
      - `initialInvestment` number, float — USD amount initially invested in the mirror
      - `depositSummary` number, float — Total USD amount deposited into the mirror after initial investment
      - `withdrawalSummary` number, float — Total USD amount withdrawn from the mirror
      - `positions` TradingDemoApiPosition[] — Positions within this copy trading mirror
        - `positionID` integer — Unique identifier for the position
        - `CID` integer — Customer ID associated with the position
        - `openDateTime` string, date-time — Timestamp when the position was opened in ISO 8601 format
        - `openRate` number, float — Entry price of the position in the instrument's currency
        - `instrumentID` integer — Identifier of the traded instrument
        - `mirrorID` integer — Mirror ID if the position is part of copy trading, 0 otherwise
        - `parentPositionID` integer — Parent position ID for mirrored positions, 0 otherwise
        - `isBuy` boolean — Position direction: true for long (buy) positions, false for short (sell) positions
        - `leverage` number, float — Leverage multiplier applied to the position
        - `takeProfitRate` number, float — 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.
        - `stopLossRate` number, float — 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.
        - `amount` number, float — USD amount allocated to the position. This amount includes both the initial investment, and additional margin allocated to the position as collateral
        - `orderID` integer — Original orderID the position was opened by. Need to match together with orderType
        - `orderType` integer — Original orderType of the order the position was opened by. Need to match together with orderID
        - `units` number, float — Number of units in the position
        - `totalFees` number, float — Total overnight fees and dividends charged/paid on the position in USD. Negative amount represents refund
        - `initialAmountInDollars` number, float — Initial investment USD amount in the position
        - `isTslEnabled` boolean — Indication if TrailingStopLoss feature is active on this position
        - `stopLossVersion` integer — Manual stop loss edit version. Each time StopLossRate is manually update this value is incremented
        - `isSettled` boolean — Obsolete
        - `redeemStatusID` integer — If the position is currently in redeem process, this value represents the current status
        - `initialUnits` number, float — Initial invested units in the position
        - `isPartiallyAltered` boolean — Indication whether this position was partially closed
        - `unitsBaseValueDollars` number, float — Current units invested value in USD
        - `isDiscounted` boolean — Obsolete
        - `openPositionActionType` integer — Position open reason
        - `settlementTypeID` integer — Position investment type. 0 - CFD, 1 - Real Asset, 2 - SWAP, 3 - Crypto MarginTrade, 4 - Future Contract
        - `isDetached` boolean — Indication if the position was originally opened inside a mirror and detached from it
        - `openConversionRate` number, float — Conversion rate at position opening
        - `pnlVersion` integer — Pnl formula used for calculating profit and loss
        - `totalExternalFees` number, float — Total fees in USD charged on the position. Example - TicketFee. This value does not include overnight fees and dividends
        - `totalExternalTaxes` number, float — Total taxes in USD charged on the position. Example - SDRT
        - `isNoTakeProfit` boolean — Indication if TakeProfit is enabled for the position. false = enabled, true = disabled
        - `isNoStopLoss` boolean — Indication if StopLoss is enabled for the position. false = enabled, true = disabled
        - `lotCount` number, float — Number of lots the position represents. For FutureContracts this value represents the number of contracts acquired
      - `entryOrders` object[] — Obsolete
      - `exitOrders` object[] — Obsolete
      - `parentUsername` string — Username of the trader being copied
      - `closedPositionsNetProfit` number, float — Total USD net profit of all positions that closed in the mirror
      - `startedCopyDate` string, date-time — Date and time when the mirror trading was initiated
      - `pendingForClosure` boolean — Indication if the mirror is in closure process
      - `parentMirrors` object[]
      - `mirrorCalculationType` integer — (Obsolete) Mirror positions weights calculation methodology
      - `ordersForOpen` object[] — Active orders in the mirror to open positions
      - `ordersForClose` object[] — Active orders in the mirror to close positions
      - `ordersForCloseMultiple` object[] — Active orders in the mirror to close positions
      - `delayedOrderForClose` object[] — Obsolete
      - `delayedOrderForOpen` object[] — Obsolete
      - `mirrorStatusID` integer — Current status of the mirror. 0 - Active, 1 - Paused, 2 - Pending Closure, 3 - In Alignment Process
    - `orders` object[] — List of pending orders
      - `orderID` integer — Unique identifier for the order
      - `CID` integer — Customer ID associated with the order
      - `openDateTime` string, date-time — Date and time when the order was created
      - `instrumentID` integer — Identifier of the instrument being traded
      - `isBuy` boolean — Direction of the position. true - Long, false - Short
      - `takeProfitRate` number, float — 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.
      - `stopLossRate` number, float — 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.
      - `rate` number, float — Asset rate at which to send market order to the market
      - `amount` number, float — USD amount to invest in the position
      - `leverage` number, float — Leverage multiplier to apply to the position
      - `units` number, float — Units to open the position. If this value is greater than zero the position will open on the requested units, and not amount
      - `isTslEnabled` boolean — 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.
      - `executionType` integer — Type of order execution
      - `isDiscounted` boolean — Obsolete
    - `stockOrders` object[] — Obsolete
    - `entryOrders` object[] — Obsolete
    - `exitOrders` object[] — Obsolete
    - `ordersForOpen` object[] — Active orders to open positions
    - `ordersForClose` object[] — Active orders to close positions
    - `ordersForCloseMultiple` object[] — Active orders to close multiple positions
    - `bonusCredit` number, float — Bonus credit amount in USD available for trading

## Other responses

- `429` — Too Many Requests — the shared rate limit (60 requests / 60s) was exceeded.

---

[API](https://skmtc.dev/etoro/apis/etoro-api.md) · [All operations](https://skmtc.dev/etoro/apis/etoro-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/etoro/etoro-api/revisions/69c1fb266c35/schema)
