# Get closed positions

GET /api/v1/market-data/closed-positions

## Get closed positions

> Returns a paginated list of historically closed outcome token positions for a wallet. Includes realised PnL, whether the position was a winner, and claim/finalisation status.

```json
{"openapi":"3.1.1","info":{"title":"FortyTwo Read API","version":"1.0"},"tags":[{"description":"GET /api/v1/market-data/closed-positions","name":"get-closed-positions"}],"servers":[{"url":"https://rest.ft.42.space/"}],"paths":{"/api/v1/market-data/closed-positions":{"get":{"description":"Returns a paginated list of historically closed outcome token positions for a wallet. Includes realised PnL, whether the position was a winner, and claim/finalisation status.","tags":["get-closed-positions"],"summary":"Get closed 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 10, max 50)","name":"limit","in":"query"},{"schema":{"type":"integer"},"description":"Offset (default 0, max 100000)","name":"offset","in":"query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api.PaginatedResponse-handler_ClosedPositionResponse"}}}},"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_ClosedPositionResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/handler.ClosedPositionResponse"}},"pagination":{"$ref":"#/components/schemas/api.Pagination"}}},"handler.ClosedPositionResponse":{"type":"object","properties":{"avgPrice":{"type":"number"},"closedAt":{"type":"string"},"costBasis":{"type":"number"},"curPrice":{"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"},"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"}}}}}}
```
