Skip to main content
GET
/
api
/
v1
/
trading
/
positions
List Positions
curl --request GET \
  --url https://api.example.com/api/v1/trading/positions
{
  "status": "<string>",
  "data": {
    "count": 123,
    "positions": [
      {
        "position_id": "<string>",
        "order_id": "<string>",
        "exchange": "<string>",
        "symbol": "<string>",
        "side": "<string>",
        "size": "<string>",
        "entry_price": "<string>",
        "status": "<string>",
        "opened_at": "<string>",
        "updated_at": "<string>"
      }
    ]
  }
}
List all tracked trading positions. Positions can be filtered by status and are returned in descending order by open time (most recent first).

Query Parameters

status
string
Filter positions by status. If omitted, returns all positions regardless of status.Allowed values:
  • OPEN - Active positions currently held
  • CLOSED - Positions that were manually closed or canceled
  • LIQUIDATED - Positions that were liquidated

Response

status
string
Response status: "success" or "error"
data
object
Container for position list data

Position Fields

Position ID

Unique identifier for each position, generated when the position is created. Format: pos-YYYYMMDDHHMMSS-sequence

Symbol

The trading pair for this position (e.g., BTC/USDT, ETH/USDT)

Side

  • BUY: Long position (profit when price increases)
  • SELL: Short position (profit when price decreases)

Entry Price

The price at which the position was opened. For market orders, this reflects the executed price.

Current PnL

Real-time PnL calculation is not included in this endpoint. To calculate current unrealized PnL, fetch the current market price and compute:Long positions: (current_price - entry_price) * sizeShort positions: (entry_price - current_price) * size

Position Status States

  • OPEN: Position is currently active and held
  • CLOSED: Position was closed through order cancellation
  • LIQUIDATED: Position was forcibly closed via liquidation endpoint

Example Requests

All Positions
curl -X GET https://api.neuratrade.com/api/v1/trading/positions \
  -H "Authorization: Bearer YOUR_API_KEY"
Open Positions Only
curl -X GET "https://api.neuratrade.com/api/v1/trading/positions?status=OPEN" \
  -H "Authorization: Bearer YOUR_API_KEY"
Liquidated Positions Only
curl -X GET "https://api.neuratrade.com/api/v1/trading/positions?status=LIQUIDATED" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

200 Success
{
  "status": "success",
  "data": {
    "count": 3,
    "positions": [
      {
        "position_id": "pos-20260303120000-3",
        "order_id": "ord-20260303120000-3",
        "exchange": "binance",
        "symbol": "ETH/USDT",
        "side": "BUY",
        "size": "1.5",
        "entry_price": "3000.00",
        "status": "OPEN",
        "opened_at": "2026-03-03T12:30:00Z",
        "updated_at": "2026-03-03T12:30:00Z"
      },
      {
        "position_id": "pos-20260303120000-2",
        "order_id": "ord-20260303120000-2",
        "exchange": "okx",
        "symbol": "BTC/USDT",
        "side": "SELL",
        "size": "0.05",
        "entry_price": "65000.00",
        "status": "CLOSED",
        "opened_at": "2026-03-03T12:15:00Z",
        "updated_at": "2026-03-03T12:20:00Z"
      },
      {
        "position_id": "pos-20260303120000-1",
        "order_id": "ord-20260303120000-1",
        "exchange": "binance",
        "symbol": "BTC/USDT",
        "side": "BUY",
        "size": "0.01",
        "entry_price": "50000.00",
        "status": "LIQUIDATED",
        "opened_at": "2026-03-03T12:00:00Z",
        "updated_at": "2026-03-03T12:10:00Z"
      }
    ]
  }
}
200 Empty Result
{
  "status": "success",
  "data": {
    "count": 0,
    "positions": []
  }
}

Build docs developers (and LLMs) love