> ## Documentation Index
> Fetch the complete documentation index at: https://docs.struct.to/llms.txt
> Use this file to discover all available pages before exploring further.

# Combo position with legs, metadata, and PnL

> Expands one combo (parlay) position into its legs — each with market metadata, live price, and won/lost/pending status — together with the trader's PnL row for the combo and derived figures (implied probability, potential payout, dead flag).



## OpenAPI

````yaml https://api.struct.to/openapi.json get /polymarket/trader/pnl/{address}/combo
openapi: 3.1.0
info:
  title: Polymarket API
  description: >-
    RESTful API for querying Polymarket prediction markets data including
    events, markets, traders, holders, and real-time metrics
  license:
    name: ''
  version: 1.0.0
servers:
  - url: https://api.struct.to/v1
security: []
paths:
  /polymarket/trader/pnl/{address}/combo:
    get:
      tags:
        - Trader
      summary: Combo position with legs, metadata, and PnL
      description: >-
        Expands one combo (parlay) position into its legs — each with market
        metadata, live price, and won/lost/pending status — together with the
        trader's PnL row for the combo and derived figures (implied probability,
        potential payout, dead flag).
      operationId: get_trader_combo_pnl
      parameters:
        - name: address
          in: path
          description: Trader wallet address
          required: true
          schema:
            type: string
        - name: position_id
          in: query
          description: >-
            Combo position id, decimal or 0x-prefixed hex — as returned by the
            positions endpoints
          required: false
          schema:
            type: string
        - name: condition_id
          in: query
          description: >-
            Combo condition id (0x-prefixed 32-byte hex); alternative to
            position_id
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >-
            Combo breakdown with per-leg detail and position PnL. Unknown combos
            return 200 with `data: null` and an `unknown combo` message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComboPnlResponse'
        '400':
          description: Missing/invalid id, or not a combo
components:
  schemas:
    ComboPnlResponse:
      type: object
      required:
        - condition_id
        - is_dead
        - legs_won
        - legs_lost
        - legs_pending
        - leg_count
        - legs
      properties:
        condition_id:
          type: string
          description: Normalized combo condition id.
        position:
          type: object
          description: |-
            The trader's position row for this combo (same shape as the
            positions endpoint). Omitted when the trader holds no position on
            this combo.
        implied_probability:
          type:
            - number
            - 'null'
          format: double
          description: |-
            Probability of this position paying out, implied by current leg
            prices (resolved legs count as 0 or 1).
        potential_payout:
          type:
            - number
            - 'null'
          format: double
          description: |-
            Gross USD payout if this held side can still win/redeem, or the
            already-realized redemption amount when it has won and redeemed.
            Omitted for dead losing positions and zero-balance closed positions.
        is_dead:
          type: boolean
          description: True once the position can no longer pay out.
        status:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ComboStatus'
              description: |-
                Lifecycle state of the combo. Omitted when the trader holds no
                position on it.
        legs_won:
          type: integer
          minimum: 0
        legs_lost:
          type: integer
          minimum: 0
        legs_pending:
          type: integer
          minimum: 0
        leg_count:
          type: integer
          minimum: 0
        legs:
          type: array
          items:
            $ref: '#/components/schemas/ComboLegDetail'
    ComboStatus:
      type: string
      description: Lifecycle state of a combo entry — the most specific state that applies.
      enum:
        - open
        - closed
        - resolved_win
        - resolved_loss
        - redeemable
        - redeemed
    ComboLegDetail:
      type: object
      required:
        - position_id
        - v2_condition_id
        - condition_id
        - leg_market_type
        - outcome_index
      properties:
        position_id:
          type: string
          description: Position id of this leg (decimal).
        v2_condition_id:
          type: string
          description: |-
            Alternate condition id form of this leg; use `condition_id` for
            market lookups.
        condition_id:
          type: string
          description: |-
            Condition id of the leg's market — use this with the market
            endpoints.
        leg_market_type:
          $ref: '#/components/schemas/ComboLegMarketType'
          description: Type of the leg's market.
        outcome_index:
          type: integer
          format: int32
          description: Index of the outcome this leg is on within its market.
          minimum: 0
        outcome:
          type:
            - string
            - 'null'
          description: Outcome name (e.g. "Yes", "No", or a team/player name).
        last_price:
          type:
            - number
            - 'null'
          format: double
          description: Latest traded price of this leg's outcome (0-1).
        status:
          type:
            - string
            - 'null'
          description: |-
            Leg result: "won", "lost", or "pending" while the market is
            unresolved.
        market_slug:
          type:
            - string
            - 'null'
        event_slug:
          type:
            - string
            - 'null'
        question:
          type:
            - string
            - 'null'
        title:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
    ComboLegMarketType:
      type: string
      description: Kind of market a combo leg is on.
      enum:
        - binary
        - multi_outcome

````