---
title: "Get your positions."
method: GET
path: "/position"
tags: ["Position"]
---

# Get your positions.

`GET /position`

This endpoint is used for retrieving position information. The fields largely follow the [FIX spec](http://www.onixs.biz/fix-dictionary/5.0.SP2/msgType_AP_6580.html) definitions. Some selected fields are explained in more detail below.

The fields _account_, _symbol_, _currency_ are unique to each position and form its key.

Spot trading symbols returns a subset of the position fields, mainly the open order aggregates.

- **account**: Your unique account ID.
- **symbol**: The contract for this position.
- **currency**: The margin currency for this position.
- **underlying**: Meta data of the _symbol_.
- **quoteCurrency**: Meta data of the _symbol_, All prices are in the _quoteCurrency_
- **commission**: The maximum of the maker, taker, and settlement fee.
- **initMarginReq**: The initial margin requirement. This will be at least the symbol's default initial maintenance margin, but can be higher if you choose lower leverage.
- **maintMarginReq**: The maintenance margin requirement. This will be at least the symbol's default maintenance maintenance margin, but can be higher if you choose a higher risk limit.
- **riskLimit**: This is a function of your _maintMarginReq_.
- **leverage**: 1 / initMarginReq.
- **crossMargin**: True/false depending on whether you set cross margin on this position.
- **deleveragePercentile**: Indicates where your position is in the ADL queue.
- **rebalancedPnl**: The value of realised PNL that has transferred to your wallet for this position.
- **prevRealisedPnl**: The value of realised PNL that has transferred to your wallet for this position since the position was closed.
- **currentQty**: The current position amount in contracts.
- **currentCost**: The current cost of the position in the settlement currency of the symbol (_currency_).
- **currentComm**: The current commission of the position in the settlement currency of the symbol (_currency_).
- **realisedCost**: The realised cost of this position calculated with regard to average cost accounting.
- **unrealisedCost**: _currentCost_ - _realisedCost_.
- **grossOpenPremium**: The amount your bidding above the mark price in the settlement currency of the symbol (_currency_).
- **markPrice**: The mark price of the symbol in _quoteCurrency_.
- **markValue**: The _currentQty_ at the mark price in the settlement currency of the symbol (_currency_).
- **homeNotional**: Value of position in units of _underlying_.
- **foreignNotional**: Value of position in units of _quoteCurrency_.
- **realisedPnl**: The negative of _realisedCost_.
- **unrealisedPnl**: _unrealisedGrossPnl_.
- **liquidationPrice**: Once markPrice reaches this price, this position will be liquidated.
- **bankruptPrice**: Once markPrice reaches this price, this position will have no equity.

## Query parameters

- `filter` string, JSON
- `columns` string, JSON
- `count` integer

## Response `200`

Request was successful

- Position[]
  - `account` integer, required
  - `symbol` string, required
  - `currency` string
  - `underlying` string
  - `quoteCurrency` string
  - `commission` number, double
  - `initMarginReq` number, double
  - `maintMarginReq` number, double
  - `riskLimit` integer
  - `leverage` number, double
  - `crossMargin` boolean
  - `deleveragePercentile` number, double
  - `rebalancedPnl` integer
  - `prevRealisedPnl` integer
  - `prevUnrealisedPnl` integer
  - `openingQty` integer
  - `openOrderBuyQty` integer
  - `openOrderBuyCost` integer
  - `openOrderBuyPremium` integer
  - `openOrderSellQty` integer
  - `openOrderSellCost` integer
  - `openOrderSellPremium` integer
  - `currentQty` integer
  - `currentCost` integer
  - `currentComm` integer
  - `realisedCost` integer
  - `unrealisedCost` integer
  - `grossOpenPremium` integer
  - `isOpen` boolean
  - `markPrice` number, double
  - `markValue` integer
  - `riskValue` integer
  - `homeNotional` number, double
  - `foreignNotional` number, double
  - `posState` string
  - `posCost` integer
  - `posCross` integer
  - `posComm` integer
  - `posLoss` integer
  - `posMargin` integer
  - `posMaint` integer
  - `initMargin` integer
  - `maintMargin` integer
  - `realisedPnl` integer
  - `unrealisedPnl` integer
  - `unrealisedPnlPcnt` number, double
  - `unrealisedRoePcnt` number, double
  - `avgCostPrice` number, double
  - `avgEntryPrice` number, double
  - `breakEvenPrice` number, double
  - `marginCallPrice` number, double
  - `liquidationPrice` number, double
  - `bankruptPrice` number, double
  - `timestamp` string, date-time

## Other responses

- `400` — Parameter Error
- `401` — Unauthorized
- `403` — Access Denied
- `404` — Not Found

## Changes

- **2019-12-18** `fd2de3a82a03` — 1 info
  - added the non-success response with the status `403`
- **2018-05-30** `0c1c991454e3` — 1 info
  - removed the non-success response with the status `403`

[Change history](https://skmtc.dev/bitmex/apis/bitmex-api/changes/position/get.md)

---

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