---
title: "Get position history for a wallet or copy profile"
method: GET
path: "/v1/positions/history"
tags: ["positions"]
---

# Get position history for a wallet or copy profile

`GET /v1/positions/history`

## Query parameters

- `limit` integer
- `cursor` string
- `walletAddress` string
- `copyProfileId` string, uuid
- `symbol` string
- `status` 'all' | 'open' | 'closed'
- `sortBy` 'openedAt' | 'realizedPnl' | 'funding'
- `sortDirection` 'asc' | 'desc'
- `openedAfter` string, date-time
- `openedBefore` string, date-time

## Response `200`

Successful response

- PositionHistoryOutput
  - `total` integer
  - `nextCursor` string
  - `previousCursor` string
  - `hasMore` boolean, required
  - `positions` PositionHistoryItem[], required
    - `id` string, required
    - `symbol` string, required
    - `side` 'LONG' | 'SHORT', required
    - `size` number, required
    - `entry_price` number, required
    - `closed_price` number, nullable, required
    - `leverage_type` string, required
    - `leverage_value` integer, required
    - `realized_pnl` number, required
    - `close_reason` 'MANUAL' | 'TAKE_PROFIT' | 'STOP_LOSS' | 'TRAILING_STOP' | 'LIQUIDATION' | 'AUTO_DELEVERAGE', nullable, required
    - `opened_at` string, required
    - `closed_at` string, nullable, required
    - `total_fees` number, required
    - `total_funding` number, required
    - `fills` HistoryFill[], required
      - `fill_id` string, required
      - `symbol` string, required
      - `side` string, required
      - `direction` string, nullable, required
      - `size` number, required
      - `price` number, required
      - `fee` number, required
      - `closed_pnl` number, required
      - `executed_at` string, required
  - `totals` PositionHistoryTotals, required
    - `realizedPnl` number, required
    - `funding` number, required
    - `netPnl` number, required
    - `closedPositionCount` number, required

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `404` — Resource not found
- `500` — Internal server error

---

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