# Get open positions

GET /api/v1/market-data/positions

## Get open positions

> Returns a paginated list of currently open outcome token positions for a wallet. Includes unrealised PnL, cost basis, current value, and outcome details. Optionally filter by market or question ID.

```json
{"openapi":"3.1.1","info":{"title":"FortyTwo Read API","version":"1.0"},"tags":[{"description":"GET /api/v1/market-data/positions","name":"get-open-positions"}],"servers":[{"url":"https://rest.ft.42.space/"}],"paths":{"/api/v1/market-data/positions":{"get":{"description":"Returns a paginated list of currently open outcome token positions for a wallet. Includes unrealised PnL, cost basis, current value, and outcome details. Optionally filter by market or question ID.","tags":["get-open-positions"],"summary":"Get open positions","parameters":[{"schema":{"type":"string"},"description":"Wallet address","name":"user","in":"query","required":true},{"schema":{"type":"string"},"description":"Comma-separated market addresses to filter by","name":"market","in":"query"},{"schema":{"type":"string"},"description":"Comma-separated question IDs to filter by","name":"question_id","in":"query"},{"schema":{"type":"integer"},"description":"Limit (default 100, max 500)","name":"limit","in":"query"},{"schema":{"type":"integer"},"description":"Offset (default 0, max 10000)","name":"offset","in":"query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api.PaginatedResponse-handler_PositionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api.ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api.ErrorResponse"}}}}}}}},"components":{"schemas":{"api.PaginatedResponse-handler_PositionResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/handler.PositionResponse"}},"pagination":{"$ref":"#/components/schemas/api.Pagination"}}},"handler.PositionResponse":{"type":"object","properties":{"avgPrice":{"type":"number"},"cashPnl":{"type":"number"},"costBasis":{"type":"number"},"curPrice":{"type":"number"},"currentValue":{"type":"number"},"isClaimed":{"type":"boolean"},"isFinalized":{"type":"boolean"},"isWinner":{"type":"boolean"},"market":{"$ref":"#/components/schemas/handler.PositionMarket"},"marketAddress":{"type":"string"},"outcome":{"$ref":"#/components/schemas/handler.PositionOutcome"},"percentPnl":{"type":"number"},"question":{"$ref":"#/components/schemas/handler.PositionQuestion"},"questionId":{"type":"string"},"realizedPnl":{"type":"number"},"size":{"type":"number"},"tokenId":{"type":"string"},"userAddress":{"type":"string"}}},"handler.PositionMarket":{"type":"object","properties":{"collateralDecimals":{"type":"integer"},"startDate":{"type":"string"}}},"handler.PositionOutcome":{"type":"object","properties":{"image":{"type":"string"},"index":{"type":"integer"},"mintedQuantity":{"type":"number"},"name":{"type":"string"},"payout":{"type":"number"},"symbol":{"type":"string"}}},"handler.PositionQuestion":{"type":"object","properties":{"description":{"type":"string"},"endDate":{"type":"string"},"image":{"type":"string"},"questionId":{"type":"string"},"resolvedAnswer":{"type":"string"},"title":{"type":"string"},"winningOutcomes":{"type":"string"}}},"api.Pagination":{"type":"object","properties":{"hasMore":{"type":"boolean"},"totalResults":{"type":"integer"}}},"api.ErrorResponse":{"type":"object","properties":{"code":{"type":"integer"},"error":{"type":"string"},"message":{"type":"string"}}}}}}
```
