---
title: "Get account PnL and portfolio details"
method: GET
path: "/api/v1/trading/info/real/pnl"
tags: ["Trading - Real"]
---

# Get account PnL and portfolio details

`GET /api/v1/trading/info/real/pnl`

**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/portfolio`

---

Retrieves the real account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.

## Headers

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

## Response `200`

Successfully retrieved real account PnL and portfolio information.

- PortfolioResponseWithPnl — Comprehensive portfolio information including positions, orders, and account status
  - `clientPortfolio` ClientPortfolio
    - `positions` TradingRealAdminApiPosition[] — 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
      - `takeProfitRate` number, float — Rate at which TakeProfit will trigger and send MarketOrder to close the position
      - `stopLossRate` number, float — Rate at which StopLoss will trigger and send MarketOrder to close the position
      - `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
      - `leverage` integer — Leverage multiplier applied to the position
      - `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. This value does not change in case the position was partially closed
      - `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. This value does not change in case the position was partially closed
      - `isPartiallyAltered` boolean — Indication whether this position was partially closed
      - `unitsBaseValueDollars` number, float — USD value of the current units in the position, based on the initial investment. If the position was not partially altered, this value equals initialAmountInDollars
      - `isDiscounted` boolean — Obsolete. This value is used to indicate if the relevant prices for the position are Ask/Bid or AskDiscounted/BidDiscounted
      - `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 from the asset currency to USD at the time the position was opened
      - `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. This property is not relevant for instruments that are not futures instruments
      - `unrealizedPnL` object, nullable — Unrealized profit/loss details for the position (only present in PnL endpoints)
        - `pnL` number, float — Unrealized P&L in account currency
        - `pnlAssetCurrency` number, float — Unrealized P&L in asset currency
        - `exposureInAccountCurrency` number, float — Current exposure in account currency
        - `exposureInAssetCurrency` number, float — Current exposure in asset currency
        - `marginInAccountCurrency` number, float — Margin in account currency
        - `marginInAssetCurrency` number, float — Margin in asset currency
        - `marginCurrencyId` integer — Currency ID for margin
        - `assetCurrencyId` integer — Currency ID for the asset
        - `closeRate` number, float — Current close rate
        - `closeConversionRate` number, float — Current close conversion rate
        - `timestamp` string, date-time — Timestamp of the PnL calculation
    - `credit` number, float — Available trading balance in USD, representing funds available for new actions
    - `mirrors` Mirror[] — Copy trading configurations and positions
      - `mirrorID` integer — Unique identifier for the mirror
      - `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` TradingRealAdminApiPosition[] — List of currently open trading positions in the 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
        - `takeProfitRate` number, float — Rate at which TakeProfit will trigger and send MarketOrder to close the position
        - `stopLossRate` number, float — Rate at which StopLoss will trigger and send MarketOrder to close the position
        - `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
        - `leverage` integer — Leverage multiplier applied to the position
        - `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. This value does not change in case the position was partially closed
        - `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. This value does not change in case the position was partially closed
        - `isPartiallyAltered` boolean — Indication whether this position was partially closed
        - `unitsBaseValueDollars` number, float — USD value of the current units in the position, based on the initial investment. If the position was not partially altered, this value equals initialAmountInDollars
        - `isDiscounted` boolean — Obsolete. This value is used to indicate if the relevant prices for the position are Ask/Bid or AskDiscounted/BidDiscounted
        - `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 from the asset currency to USD at the time the position was opened
        - `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. This property is not relevant for instruments that are not futures instruments
        - `unrealizedPnL` object, nullable — Unrealized profit/loss details for the position (only present in PnL endpoints)
          - `pnL` number, float — Unrealized P&L in account currency
          - `pnlAssetCurrency` number, float — Unrealized P&L in asset currency
          - `exposureInAccountCurrency` number, float — Current exposure in account currency
          - `exposureInAssetCurrency` number, float — Current exposure in asset currency
          - `marginInAccountCurrency` number, float — Margin in account currency
          - `marginInAssetCurrency` number, float — Margin in asset currency
          - `marginCurrencyId` integer — Currency ID for margin
          - `assetCurrencyId` integer — Currency ID for the asset
          - `closeRate` number, float — Current close rate
          - `closeConversionRate` number, float — Current close conversion rate
          - `timestamp` string, date-time — Timestamp of the PnL calculation
      - `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[] — Parent mirrors for this mirror (if any)
      - `mirrorCalculationType` integer — (Obsolete) Mirror positions weights calculation methodology
      - `ordersForOpen` OrderForOpen[] — Active orders in the mirror to open positions
        - `orderId` integer — Unique identifier for the order
        - `orderType` integer — Type of order executed
        - `statusId` integer — Status of the order
        - `cid` integer — Customer ID associated with the order
        - `openDateTime` string, date-time — The timestamp when the order was opened.
        - `lastUpdate` string, date-time — The last update timestamp of the order.
        - `instrumentId` integer — The unique identifier of the financial instrument to trade.
        - `amount` number, float — The amount of money to invest in the trade.
        - `amountInUnits` number, float — The number of units to trade.
        - `isBuy` boolean — True for a buy (long) order, false for a sell (short) order.
        - `leverage` integer — The leverage multiplier for the trade.
        - `stopLossRate` number, float — The stop-loss rate at which the trade will automatically close to limit losses.
        - `takeProfitRate` number, float — The take-profit rate at which the trade will automatically close to secure profits.
        - `isTslEnabled` boolean — Indicates whether a trailing stop-loss is enabled.
        - `isDiscounted` boolean — Indicates if the order is eligible for a discount.
        - `mirrorId` integer — ID related to mirrored trades, if applicable.
        - `frozenAmount` number, float — Amount frozen for the order.
        - `totalExternalCosts` number, float — Total external costs associated with the trade.
        - `isNoTakeProfit` boolean — True if no take-profit is set for this order.
        - `isNoStopLoss` boolean — True if no stop-loss is set for this order.
        - `lotCount` number, float — The number of lots in the order.
        - `openPositionActionType` integer — Position open reason.
        - `externalOperation` object, nullable — External operation details, if any.
      - `ordersForClose` OrderForClose[] — Active orders in the mirror to close positions
        - `orderId` integer — Unique identifier for the closing order.
        - `orderType` integer — Type of order executed.
        - `statusId` integer — Status of the closing order.
        - `cid` integer — Customer ID associated with the order.
        - `openDateTime` string, date-time — The timestamp when the order was placed.
        - `lastUpdate` string, date-time — The timestamp of the last update to this order.
        - `instrumentId` integer — The ID of the instrument traded.
        - `unitsToDeduct` number, float — The number of units closed in this order.
        - `lotsToDeduct` number, float — The number of lots closed in this order.
        - `positionId` integer — The ID of the closed position.
      - `ordersForCloseMultiple` OrderForCloseMultiple[] — Active orders in the mirror to close positions
        - `orderId` integer — Unique identifier for the closing order.
        - `orderType` integer — Type of order executed.
        - `statusId` integer — Status of the closing order.
        - `cid` integer — Customer ID associated with the order.
        - `openDateTime` string, date-time — The timestamp when the order was placed.
        - `lastUpdate` string, date-time — The timestamp of the last update to this order.
        - `instrumentId` integer — The ID of the instrument traded.
        - `unitsToDeduct` number, float — The number of units closed in this order.
        - `lotsToDeduct` number, float — The number of lots closed in this order.
        - `pendingClosePositionIds` integer[] — IDs of positions pending close in this order.
      - `mirrorStatusID` integer — Current status of the mirror. 0 - Active, 1 - Paused, 2 - Pending Closure, 3 - In Alignment Process
      - `delayedOrderForClose` object[] — Delayed orders for closing positions
      - `delayedOrderForOpen` object[] — Delayed orders for opening positions
      - `entryOrders` object[] — Entry orders awaiting execution in the mirror
      - `exitOrders` object[] — Exit orders awaiting execution in the mirror
    - `orders` TradingRealAdminApiOrder[] — 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 — Rate at which TakeProfit will trigger and send MarketOrder to close the position once it is open
      - `stopLossRate` number, float — Rate at which StopLoss will trigger and send MarketOrder to close the position once it is open
      - `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` integer — 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 — Indication if to enable TSL feature on the position once it is open
      - `executionType` integer — Type of order execution
      - `isDiscounted` boolean — Obsolete
      - `isNoTakeProfit` boolean — Indication if TakeProfit is enabled for the order. false = enabled, true = disabled
      - `isNoStopLoss` boolean — Indication if StopLoss is enabled for the order. false = enabled, true = disabled
    - `ordersForOpen` OrderForOpen[] — Active orders to open positions
      - `orderId` integer — Unique identifier for the order
      - `orderType` integer — Type of order executed
      - `statusId` integer — Status of the order
      - `cid` integer — Customer ID associated with the order
      - `openDateTime` string, date-time — The timestamp when the order was opened.
      - `lastUpdate` string, date-time — The last update timestamp of the order.
      - `instrumentId` integer — The unique identifier of the financial instrument to trade.
      - `amount` number, float — The amount of money to invest in the trade.
      - `amountInUnits` number, float — The number of units to trade.
      - `isBuy` boolean — True for a buy (long) order, false for a sell (short) order.
      - `leverage` integer — The leverage multiplier for the trade.
      - `stopLossRate` number, float — The stop-loss rate at which the trade will automatically close to limit losses.
      - `takeProfitRate` number, float — The take-profit rate at which the trade will automatically close to secure profits.
      - `isTslEnabled` boolean — Indicates whether a trailing stop-loss is enabled.
      - `isDiscounted` boolean — Indicates if the order is eligible for a discount.
      - `mirrorId` integer — ID related to mirrored trades, if applicable.
      - `frozenAmount` number, float — Amount frozen for the order.
      - `totalExternalCosts` number, float — Total external costs associated with the trade.
      - `isNoTakeProfit` boolean — True if no take-profit is set for this order.
      - `isNoStopLoss` boolean — True if no stop-loss is set for this order.
      - `lotCount` number, float — The number of lots in the order.
      - `openPositionActionType` integer — Position open reason.
      - `externalOperation` object, nullable — External operation details, if any.
    - `ordersForClose` OrderForClose[] — Active orders to close positions
      - `orderId` integer — Unique identifier for the closing order.
      - `orderType` integer — Type of order executed.
      - `statusId` integer — Status of the closing order.
      - `cid` integer — Customer ID associated with the order.
      - `openDateTime` string, date-time — The timestamp when the order was placed.
      - `lastUpdate` string, date-time — The timestamp of the last update to this order.
      - `instrumentId` integer — The ID of the instrument traded.
      - `unitsToDeduct` number, float — The number of units closed in this order.
      - `lotsToDeduct` number, float — The number of lots closed in this order.
      - `positionId` integer — The ID of the closed position.
    - `ordersForCloseMultiple` OrderForCloseMultiple[] — Active orders to close multiple positions
      - `orderId` integer — Unique identifier for the closing order.
      - `orderType` integer — Type of order executed.
      - `statusId` integer — Status of the closing order.
      - `cid` integer — Customer ID associated with the order.
      - `openDateTime` string, date-time — The timestamp when the order was placed.
      - `lastUpdate` string, date-time — The timestamp of the last update to this order.
      - `instrumentId` integer — The ID of the instrument traded.
      - `unitsToDeduct` number, float — The number of units closed in this order.
      - `lotsToDeduct` number, float — The number of lots closed in this order.
      - `pendingClosePositionIds` integer[] — IDs of positions pending close in this order.
    - `bonusCredit` number, float — Bonus credit amount in USD in the account
    - `unrealizedPnL` number, float — Total unrealized profit and loss across all open positions in the portfolio
    - `accountCurrencyId` integer — Currency ID of the account (1 = USD)
    - `stockOrders` object[] — Stock-specific pending orders
    - `entryOrders` object[] — Entry orders awaiting execution
    - `exitOrders` object[] — Exit orders awaiting execution

## 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)
