---
title: "Combination Positions"
method: GET
path: "/portfolio/{accountId}/combo/positions"
tags: ["tradingPortfolio"]
---

# Combination Positions

`GET /portfolio/{accountId}/combo/positions`

Provides all positions held in the account acquired as a combination, including values such as ratios, size, and market value.

## Path parameters

- `accountId` string, required

## Query parameters

- `nocache` boolean

## Response `200`

response with combo position definitions

- ComboPositionResponseItems[] — Array of objects each containing a single combo position.
  - `description` string — The ratio and conids included in the position.
  - `legs` ComboPositionResponseItemsLegsItems[] — List of the legs that make up a position.
    - `conid` string — Contract identifier of the given leg.
    - `ratio` integer — Ratio of the leg compared to the quantity.
  - `name` string — Internal identifier of a combination position.
  - `positions` IndividualComboPosition[] — List of the positions that make up a combination.
    - `acctId` string — IB accountId of an account with a position in the requested conid.
    - `assetClass` string — Asset class of the requested instrument.
    - `avgCost` number, double — The account's average cost for its position.
    - `avgPrice` number, double — The account's average price for its position.
    - `conExchMap` unknown[]
      - unknown
    - `conid` integer — IB contract ID for the instrument.
    - `contractDesc` string — Human-readable description of the instrument.
    - `currency` string — Currency in which the instrument trades.
    - `exchs` IndividualComboPositionExchs
    - `exerciseStyle` string, nullable — Style of exercise for options.
    - `expiry` string — Expiration of instrument, if applicable.
    - `mktPrice` number, double — Current market price of the instrument, in the instrument's currency.
    - `mktValue` number, double — Current market value of the account's position in the instrument, in the instrument's currency.
    - `multiplier` number, double — Instrument's multiplier, if applicable.
    - `position` number, double — Size of position in units of instrument.
    - `putOrCall` 'P' | 'C' | 'None' — The right of an options contract, if applicable.
    - `realizedPnl` number, double — Realized PnL for the instrument in the instrument's currency.
    - `strike` string — Strike price, if applicable. Returned as string.
    - `undConid` integer — Contract ID of underlying instrument, if applicable.
    - `unrealizedPnl` number, double — Unrealized PnL for the instrument in the account.

## Other responses

- `401` — Missing, invalid, or unparseable Authorization token.
- `500` — internal server error, returned when incoming request cannot be processed. It can sometimes include subset of bad requests. For example, wrong accountId passed and it can only be detected later in handling request. Error contains reason of the problem.
- `503` — service is unavailable. For example if request takes more than 10s due to some internal service unavailability, request aborted and this status returned

---

[API](https://skmtc.net/interactivebrokers/apis/api-reference.md) · [All operations](https://skmtc.net/interactivebrokers/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/interactivebrokers/api-reference/revisions/67f9f562c2c6/schema)
