---
title: "Get account positions"
method: GET
path: "/rest/api/v1/accounts/{accountId}/positions"
tags: ["Trading API"]
---

# Get account positions

`GET /rest/api/v1/accounts/{accountId}/positions`

## Request

- Base URL: `https://api.metacopier.io`
- URL: `https://api.metacopier.io/rest/api/v1/accounts/{accountId}/positions`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/metacopier/apis/metacopier-api/docs/rest/api/v1/accounts/:accountId/positions/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `accountId` string, uuid, required

## Response `200`

OK

- PositionDTO[]
  - `brokerTimeClose` string: Original time string from the broker
  - `brokerTimeOpen` string: Original time string from the broker
  - `closePrice` number
  - `closeTime` string, date-time: ISO 8601
  - `comment` string
  - `commission` number
  - `copierId` string, uuid: Copier that opened this position. Null when the position was not opened by a copier.
  - `dealType` 'DealBuy' | 'DealSell' | 'Balance' | 'Credit' | 'Charge' | 'Correction' | 'Bonus' | 'Commission' | 'DailyCommission' | 'MonthlyCommission' | 'DailyAgentCommission' | 'MonthlyAgentCommission' | 'InterestRate' | 'CanceledBuy' | 'CanceledSell' | 'Dividend' | 'FrankedDividend' | 'Tax' | 'AgentCommission' | 'SoCompensation' | 'SoCreditCompensation'
  - `id` string
  - `lossProtected` boolean: True when the position is held by the Loss-Protected Exit feature: the master closed it while it was in loss, so the close was not replicated. Held positions stay open until their Take Profit or Stop Loss triggers or they are closed manually. Null for positions that are not held.
  - `magicNumber` string: Magic number carried by the position, as a string. Absent/null when no magic number was set on the order (a magic of 0 on the broker side is reported as absent rather than as the string "0").
  - `netProfit` number
  - `openPrice` number
  - `openTime` string, date-time: ISO 8601
  - `orderType` 'Buy' | 'Sell' | 'BuyLimit' | 'SellLimit' | 'BuyStop' | 'SellStop'
  - `placedType` 'Manually' | 'Mobile' | 'Web' | 'ByExpert' | 'OnSL' | 'OnTP' | 'OnStopOut' | 'OnRollover' | 'OnVmargin' | 'OnSplit' | 'ByDealer' | 'Gateway' | 'Signal' | 'Settlement' | 'Transfer' | 'Sync' | 'ExternalService' | 'Migration'
  - `profit` number
  - `requestId` string
  - `signalProviderId` string, uuid: Signal provider the position was copied from. Null when the position was not opened through a signal subscription.
  - `sourceAccountId` string, uuid: Source (master) account of the copied position. Null when the position was not opened by a copier or when the source account belongs to another user (signal provider or investor program).
  - `sourcePositionId` string: Position id on the source (master) account. Null when the position was not opened by a copier.
  - `state` string
  - `stopLoss` number
  - `swap` number
  - `symbol` string
  - `takeProfit` number
  - `volume` number

## Changes

- **2026-10-18** `0977b2c448ee`: 1 info
  - added the optional property `items/lossProtected` to the response with the `200` status
- **2026-10-05** `565708f214a0`: 4 info
  - added the optional property `items/copierId` to the response with the `200` status
  - added the optional property `items/signalProviderId` to the response with the `200` status
  - added the optional property `items/sourceAccountId` to the response with the `200` status
  - added the optional property `items/sourcePositionId` to the response with the `200` status
- **2026-01-16** `5446e0dea026`: 4 warning
  - added the new `AgentCommission` enum value to the `items/dealType` response property for the response status `200`
  - added the new `FrankedDividend` enum value to the `items/dealType` response property for the response status `200`
  - added the new `SoCompensation` enum value to the `items/dealType` response property for the response status `200`
  - added the new `SoCreditCompensation` enum value to the `items/dealType` response property for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/metacopier/apis/metacopier-api/changes/rest/api/v1/accounts/:accountId/positions/get.md)

---

[API](https://skmtc.dev/metacopier/apis/metacopier-api.md) - [All operations](https://skmtc.dev/metacopier/apis/metacopier-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metacopier/apis/metacopier-api/revisions/2ac6d7461345?raw)
