---
title: "List open and recently closed positions across a scope"
method: GET
path: "/v1/positions/board"
tags: ["positions"]
---

# List open and recently closed positions across a scope

`GET /v1/positions/board`

## Query parameters

- `limit` integer
- `cursor` string
- `scope` 'everyone' | 'clan' | 'following' | 'trader'
- `traderId` string, uuid
- `status` 'all' | 'open' | 'closed'

## Response `200`

Successful response

- PositionsBoardOutput
  - `total` integer
  - `nextCursor` string
  - `previousCursor` string
  - `hasMore` boolean, required
  - `positions` BoardPositionItem[], required
    - `position` BoardPosition, required
      - `id` string, required
      - `symbol` string, required
      - `side` 'LONG' | 'SHORT', required
      - `size` number, required
      - `entry_price` number, required
      - `leverage_value` integer, required
      - `unrealized_pnl` number, required
      - `realized_pnl` number, required
      - `notional_usd` number, nullable, required
      - `margin_used` number, nullable, required
      - `opened_at` string, required
      - `closed_at` string, nullable, required
      - `activity_at` string, required
    - `trader` AvatarUser, required
      - `id` string, required
      - `username` string, required
      - `display_name` string, required
      - `avatar_url` string, required
      - `rank` integer, nullable, required
      - `clan_id` string, nullable, required
      - `clan` UserClan, nullable
        - `id` string, required
        - `name` string, required
        - `description` string, nullable, required
        - `image_url` string, nullable, required
        - `banner_url` string, nullable, required
        - `chat_room_id` string, nullable, required
        - `created_at` string, required
        - `updated_at` string, required
      - `account_value_tier` integer, required
      - `is_official` boolean, required
    - `copyTarget` AvatarUser, required
      - `id` string, required
      - `username` string, required
      - `display_name` string, required
      - `avatar_url` string, required
      - `rank` integer, nullable, required
      - `clan_id` string, nullable, required
      - `clan` UserClan, nullable
        - `id` string, required
        - `name` string, required
        - `description` string, nullable, required
        - `image_url` string, nullable, required
        - `banner_url` string, nullable, required
        - `chat_room_id` string, nullable, required
        - `created_at` string, required
        - `updated_at` string, required
      - `account_value_tier` integer, required
      - `is_official` boolean, required
    - `copyDetails` BoardCopyDetails, required
      - `amount` number, required
      - `margin` number, required
      - `leverage` number, required
      - `entry_price` number, nullable, required
      - `copied_at` string, required

## Other responses

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

## Changes

- **2026-08-27** `2e6f0d9a237e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/legend/apis/legend-api/changes/v1/positions/board/get.md)

---

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