---
title: "Returns a filtered list of positions for a given subaccount"
method: GET
path: "/v1/position"
tags: ["Position"]
---

# Returns a filtered list of positions for a given subaccount

`GET /v1/position`

## Query parameters

- `order` 'asc' | 'desc'
- `limit` integer
- `cursor` string
- `subaccountId` string, uuid, required
- `productIds` string[]
- `open` boolean
- `orderBy` 'size' | 'createdAt' | 'updatedAt' | 'realizedPnl'
- `createdAfter` integer
- `createdBefore` integer
- `side` 0 | 1
- `isLiquidated` boolean

## Response `200`

- PageOfPositionDtos
  - `data` PositionDto[], required — Array of position objects
    - `cost` string, decimal, required — Current cost of the position in USD expressed as a decimal (precision: 9)
    - `createdAt` integer, required — Position creation timestamp (ms since Unix Epoch)
    - `feesAccruedUsd` string, decimal, required — Fees accrued in USD expressed as a decimal (precision: 9)
    - `fundingAccruedUsd` string, decimal, required — Charged and applied funding on position, negative if paid, expressed as a decimal (precision: 9)
    - `fundingUsd` string, decimal, required — Charged but unapplied funding on position, negative if paid, expressed as a decimal (precision: 9)
    - `id` string, uuid, required — Id representing the position
    - `isLiquidated` boolean, required — Whether the position was liquidated
    - `liquidationPrice` string, decimal — Product price at the time of liquidation (undefined if not liquidated, precision: 9)
    - `productId` string, uuid, required — Id of product to this position belongs to
    - `realizedPnl` string, decimal, required — Realized PnL in USD expressed as a decimal (precision: 9)
    - `side` 0 | 1, required
    - `size` string, decimal, required — Position size in native units expressed as a decimal (precision: 9)
    - `totalDecreaseNotional` string, decimal, required — Cumulative USD value of all position decreases expressed as a decimal (precision: 9)
    - `totalDecreaseQuantity` string, decimal, required — Cumulative quantity of all position decreases expressed as a decimal (precision: 9)
    - `totalIncreaseNotional` string, decimal, required — Cumulative USD value of all position increases expressed as a decimal (precision: 9)
    - `totalIncreaseQuantity` string, decimal, required — Cumulative quantity of all position increases expressed as a decimal (precision: 9)
    - `unrealizedPnl` string, decimal — Unrealized PnL in USD (negative if loss, positive if profit) approximated against the latest mark price, expressed as a decimal (precision: 9)
    - `updatedAt` integer, required — Position last updated timestamp (ms since Unix Epoch)
    - `wasDeleveraged` boolean, required — Whether the position has any associated deleverage records
  - `hasNext` boolean, required — Whether there are more objects to paginate through
  - `nextCursor` string — Pointer to the next page in pagination dataset

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/ethereal/apis/ethereal-exchange-api.md) · [All operations](https://skmtc.net/ethereal/apis/ethereal-exchange-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ethereal/ethereal-exchange-api/revisions/6e6f8dad92bf/schema)
