---
title: "List positions"
method: GET
path: "/accounts/{account_id}/positions"
tags: ["holdings"]
---

# List positions

`GET /accounts/{account_id}/positions`

## Request

- Base URL: `https://api.engine.usesophic.com`
- URL: `https://api.engine.usesophic.com/accounts/{account_id}/positions`
- Auth: HTTP bearer

List an account's positions, optionally filtered to only include open positions.

## Path parameters

- `account_id` string, required

## Query parameters

- `open_only` boolean: If true, only open positions are returned.

## Response `200`

OK

- Position[]
  - `account` string, required: ID of the account that owns the position.
  - `automatic_rollover` boolean, required: Whether automatic rollover is enabled.
  - `automatic_rollover_cutoff` string, date, nullable: Last date automatic rollover can be changed.
  - `available_for_trading` string, required: Instrument quantity available for trading.
  - `average_price` string, nullable, required: Average acquisition price per instrument unit.
  - `can_update_automatic_rollover` boolean, required: Whether automatic rollover can currently be changed.
  - `closed_at` string, date-time, nullable, required: Time the position was closed.
  - `created_at` string, date-time, required: Time the position record was created.
  - `id` string, required: ID of the position.
  - `instrument` union, required: Instrument held in the position.
    - Bill
      - `about` string, nullable: Summary of the instrument.
      - `asset_class` AssetClassAllocation[], nullable: How the instrument splits across asset classes, one entry per class, weights summing to 1. A single-class instrument carries one entry at a weight of 1. Null when the instrument carries no classification at all.
        - `asset_class` 'equity' | 'fixed_income' | 'cash' | 'alternatives' | 'uninvested', required
        - `weight` string, required: Share of the instrument sitting in this class.
      - `days_to_maturity` integer, required: Calendar days remaining until maturity.
      - `decimal_precision` integer, required: Decimal places used by the trading increment.
      - `enforce_trading_rules` boolean, required: Deprecated: use `trading_configuration`. Always false; the server enforces the trading rules.
      - `exchange` string, nullable: MIC of the listing venue.
      - `icon_url` string, nullable: Public CDN URL of the instrument's icon.
      - `id` string, required: Unique resource identifier.
      - `initial_auction_date` string, date, nullable, required: Date of the first auction.
      - `initial_issue_date` string, date, required: Date the instrument was first issued.
      - `instrument_type` 'bill', required: Instrument type.
      - `isin` string, required: International Securities Identification Number.
      - `issuer` string, required: Name of the issuer.
      - `issuer_country` string, nullable, required: ISO 3166-1 alpha-2 country code of the issuer.
      - `issuer_credit_rating` string, required: Issuer credit rating.
      - `latest_auction_date` string, date, nullable, required: Date of the latest auction, including tap issues.
      - `latest_issue_date` string, date, nullable, required: Date of the latest issue, including tap issues.
      - `maturity_date` string, date, required: Date the instrument matures.
      - `minimum_initial_cash_investment` string, required: Deprecated: use `trading_configuration.buy.min_initial_cash_amount`. Zero when no minimum applies.
      - `minimum_trading_quantity` string, required: Deprecated: use `trading_configuration.buy`. The cash a buy must invest: `min_initial_cash_amount`, else `min_cash_amount`, else the trading increment when no minimum applies.
      - `name` string, required: Display name of the instrument.
      - `price_type` 'percent' | 'money', required
      - `pro_traders_only` boolean, required: Whether the instrument is restricted to professional investors.
      - `required_cash_increment` integer, required: Deprecated: no longer enforced, always zero.
      - `rollout_stage` 'ga' | 'beta' | 'provisional' | 'restricted', required
      - `supports_automatic_rollover` boolean, required: Whether positions can roll over automatically at maturity.
      - `symbol` string, required: Market identifier, such as an ISIN or currency pair.
      - `target_client_categories` ClientCategory[], required: MiFID II client categories this instrument is intended for.
      - `ticker` string, nullable: Ticker symbol of the security.
      - `trading_configuration` TradingConfiguration, required: The order rules of an instrument, split by side.
        - `buy` BuyTradingConfiguration, required: How a buy may be sized and the minimums it must meet. A null minimum is not applied.
          - `min_cash_amount` string, nullable, required: Cash every buy must invest, in the trading currency, excluding fees.
          - `min_initial_cash_amount` string, nullable, required: Cash a first buy must invest, on top of `min_cash_amount`. A buy is first when the account holds no position in the instrument.
          - `min_initial_quantity` string, nullable, required: Units a first buy must buy, on top of `min_quantity`.
          - `min_quantity` string, nullable, required: Units every buy must buy.
          - `modes` OrderMode[], required: How a buy may be sized: `cash` (spend an amount) and/or `quantity` (buy a number of units).
        - `sell` SellTradingConfiguration, required: How a sell may be sized and the minimums it must meet. A null minimum is not applied, and a sell of the whole position is never blocked by one.
          - `min_cash_amount` string, nullable, required: Cash every sell must raise, in the trading currency, before fees.
          - `min_quantity` string, nullable, required: Units every sell must sell.
          - `modes` OrderMode[], required: How a sell may be sized: `cash` (raise an amount) and/or `quantity` (sell a number of units).
      - `trading_currency` 'EUR' | 'USD' | 'GBP', required
      - `trading_increment` string, required: Smallest quantity increment accepted for orders.
      - `trading_status` 'buy_sell' | 'buy_only' | 'sell_only' | 'not_trading', required
    - CurrencyPair
      - `about` string, nullable: Summary of the instrument.
      - `asset_class` AssetClassAllocation[], nullable: How the instrument splits across asset classes, one entry per class, weights summing to 1. A single-class instrument carries one entry at a weight of 1. Null when the instrument carries no classification at all.
        - `asset_class` 'equity' | 'fixed_income' | 'cash' | 'alternatives' | 'uninvested', required
        - `weight` string, required: Share of the instrument sitting in this class.
      - `base_currency` 'EUR' | 'USD' | 'GBP', required
      - `decimal_precision` integer, required: Decimal places used by the trading increment.
      - `exchange` string, nullable: MIC of the listing venue.
      - `icon_url` string, nullable: Public CDN URL of the instrument's icon.
      - `id` string, required: Unique resource identifier.
      - `instrument_type` 'currency_pair', required: Instrument type.
      - `name` string, required: Display name of the instrument.
      - `price_type` 'percent' | 'money', required
      - `pro_traders_only` boolean, required: Whether the instrument is restricted to professional investors.
      - `quote_currency` 'EUR' | 'USD' | 'GBP', required
      - `rollout_stage` 'ga' | 'beta' | 'provisional' | 'restricted', required
      - `symbol` string, required: Market identifier, such as an ISIN or currency pair.
      - `target_client_categories` ClientCategory[], required: MiFID II client categories this instrument is intended for.
      - `trading_configuration` TradingConfiguration, required: The order rules of an instrument, split by side.
        - `buy` BuyTradingConfiguration, required: How a buy may be sized and the minimums it must meet. A null minimum is not applied.
          - `min_cash_amount` string, nullable, required: Cash every buy must invest, in the trading currency, excluding fees.
          - `min_initial_cash_amount` string, nullable, required: Cash a first buy must invest, on top of `min_cash_amount`. A buy is first when the account holds no position in the instrument.
          - `min_initial_quantity` string, nullable, required: Units a first buy must buy, on top of `min_quantity`.
          - `min_quantity` string, nullable, required: Units every buy must buy.
          - `modes` OrderMode[], required: How a buy may be sized: `cash` (spend an amount) and/or `quantity` (buy a number of units).
        - `sell` SellTradingConfiguration, required: How a sell may be sized and the minimums it must meet. A null minimum is not applied, and a sell of the whole position is never blocked by one.
          - `min_cash_amount` string, nullable, required: Cash every sell must raise, in the trading currency, before fees.
          - `min_quantity` string, nullable, required: Units every sell must sell.
          - `modes` OrderMode[], required: How a sell may be sized: `cash` (raise an amount) and/or `quantity` (sell a number of units).
      - `trading_increment` string, required: Smallest quantity increment accepted for orders.
      - `trading_status` 'buy_sell' | 'buy_only' | 'sell_only' | 'not_trading', required
    - Bond
      - `about` string, nullable: Summary of the instrument.
      - `asset_class` AssetClassAllocation[], nullable: How the instrument splits across asset classes, one entry per class, weights summing to 1. A single-class instrument carries one entry at a weight of 1. Null when the instrument carries no classification at all.
        - `asset_class` 'equity' | 'fixed_income' | 'cash' | 'alternatives' | 'uninvested', required
        - `weight` string, required: Share of the instrument sitting in this class.
      - `coupon` string, required: Annual coupon rate as a percentage. Four decimal places, since coupons are quoted in eighths and sixteenths (2.625, 0.0625).
      - `coupon_frequency` 'annual' | 'semi_annual' | 'quarterly' | 'monthly' | 'biennial', required
      - `coupon_type` 'fixed_coupon' | 'floating_coupon' | 'zero_coupon' | 'stepped_coupon' | 'deferred_coupon' | 'pay_in_kind_coupon' | 'indexed_coupon' | 'credit_linked_coupon', required
      - `day_count_convention` '30_360' | 'actual_360' | 'actual_365_fixed' | 'actual_actual'
      - `days_to_maturity` integer, required: Calendar days remaining until maturity.
      - `decimal_precision` integer, required: Decimal places used by the trading increment.
      - `enforce_trading_rules` boolean, required: Deprecated: use `trading_configuration`. Always false; the server enforces the trading rules.
      - `exchange` string, nullable: MIC of the listing venue.
      - `first_coupon_date` string, date, nullable: Date of the first scheduled coupon payment.
      - `icon_url` string, nullable: Public CDN URL of the instrument's icon.
      - `id` string, required: Unique resource identifier.
      - `initial_auction_date` string, date, nullable, required: Date of the first auction.
      - `initial_issue_date` string, date, required: Date the instrument was first issued.
      - `instrument_type` 'bond', required: Instrument type.
      - `isin` string, required: International Securities Identification Number.
      - `issuer` string, required: Name of the issuer.
      - `issuer_country` string, nullable, required: ISO 3166-1 alpha-2 country code of the issuer.
      - `issuer_credit_rating` string, required: Issuer credit rating.
      - `latest_auction_date` string, date, nullable, required: Date of the latest auction, including tap issues.
      - `latest_issue_date` string, date, nullable, required: Date of the latest issue, including tap issues.
      - `maturity_date` string, date, required: Date the instrument matures.
      - `minimum_initial_cash_investment` string, required: Deprecated: use `trading_configuration.buy.min_initial_cash_amount`. Zero when no minimum applies.
      - `minimum_trading_quantity` string, required: Deprecated: use `trading_configuration.buy`. The cash a buy must invest: `min_initial_cash_amount`, else `min_cash_amount`, else the trading increment when no minimum applies.
      - `name` string, required: Display name of the instrument.
      - `next_coupon_date` string, date, nullable: Next scheduled coupon payment date.
      - `par_value` string, nullable, required: Nominal value per unit used for price quotation.
      - `price_type` 'percent' | 'money', required
      - `pro_traders_only` boolean, required: Whether the instrument is restricted to professional investors.
      - `required_cash_increment` integer, required: Deprecated: no longer enforced, always zero.
      - `rollout_stage` 'ga' | 'beta' | 'provisional' | 'restricted', required
      - `supports_automatic_rollover` boolean, required: Whether positions can roll over automatically at maturity.
      - `symbol` string, required: Market identifier, such as an ISIN or currency pair.
      - `target_client_categories` ClientCategory[], required: MiFID II client categories this instrument is intended for.
      - `ticker` string, nullable: Ticker symbol of the security.
      - `trading_configuration` TradingConfiguration, required: The order rules of an instrument, split by side.
        - `buy` BuyTradingConfiguration, required: How a buy may be sized and the minimums it must meet. A null minimum is not applied.
          - `min_cash_amount` string, nullable, required: Cash every buy must invest, in the trading currency, excluding fees.
          - `min_initial_cash_amount` string, nullable, required: Cash a first buy must invest, on top of `min_cash_amount`. A buy is first when the account holds no position in the instrument.
          - `min_initial_quantity` string, nullable, required: Units a first buy must buy, on top of `min_quantity`.
          - `min_quantity` string, nullable, required: Units every buy must buy.
          - `modes` OrderMode[], required: How a buy may be sized: `cash` (spend an amount) and/or `quantity` (buy a number of units).
        - `sell` SellTradingConfiguration, required: How a sell may be sized and the minimums it must meet. A null minimum is not applied, and a sell of the whole position is never blocked by one.
          - `min_cash_amount` string, nullable, required: Cash every sell must raise, in the trading currency, before fees.
          - `min_quantity` string, nullable, required: Units every sell must sell.
          - `modes` OrderMode[], required: How a sell may be sized: `cash` (raise an amount) and/or `quantity` (sell a number of units).
      - `trading_currency` 'EUR' | 'USD' | 'GBP', required
      - `trading_increment` string, required: Smallest quantity increment accepted for orders.
      - `trading_status` 'buy_sell' | 'buy_only' | 'sell_only' | 'not_trading', required
      - `upcoming_coupon_amount_per_unit` string, nullable: Next coupon cash amount per unit of face quantity. Eight decimal places: a quarterly 2.625 coupon pays 0.0065625 per unit, which four would round.
    - MoneyMarketFund
      - `about` string, nullable: Summary of the instrument.
      - `asset_class` AssetClassAllocation[], nullable: How the instrument splits across asset classes, one entry per class, weights summing to 1. A single-class instrument carries one entry at a weight of 1. Null when the instrument carries no classification at all.
        - `asset_class` 'equity' | 'fixed_income' | 'cash' | 'alternatives' | 'uninvested', required
        - `weight` string, required: Share of the instrument sitting in this class.
      - `benchmark` string, nullable, required: Benchmark used to evaluate fund performance.
      - `dealing_deadline` string, time, required: Daily cutoff time for placing orders.
      - `dealing_deadline_time_and_day` string, required: Next dealing cutoff shown as time and date.
      - `decimal_precision` integer, required: Decimal places used by the trading increment.
      - `enforce_trading_rules` boolean, required: Deprecated: use `trading_configuration`. Always false; the server enforces the trading rules.
      - `exchange` string, nullable: MIC of the listing venue.
      - `fund_management_company` string, required: Company that manages the fund.
      - `fund_ongoing_charges` string, required: Annual ongoing charges as a percentage.
      - `icon_url` string, nullable: Public CDN URL of the instrument's icon.
      - `id` string, required: Unique resource identifier.
      - `initial_issue_date` string, date, required: Date the fund was first issued.
      - `instrument_type` 'money_market_fund', required: Instrument type.
      - `investment_objective` string, nullable, required: Investment objective of the fund.
      - `is_passed_dealing_deadline` boolean, required: Whether today's dealing cutoff has passed.
      - `is_qualifying_mmf` boolean, required: Whether the fund qualifies as a QMMF under MiFID.
      - `isin` string, required: International Securities Identification Number.
      - `issuer` string, required: Name of the issuer.
      - `issuer_country` string, nullable, required: ISO 3166-1 alpha-2 country code of the issuer.
      - `issuer_credit_rating` string, required: Issuer credit rating.
      - `minimum_initial_cash_investment` string, required: Deprecated: use `trading_configuration.buy.min_initial_cash_amount`. Zero when no minimum applies.
      - `minimum_trading_quantity` string, required: Deprecated: use `trading_configuration.buy`. The cash a buy must invest: `min_initial_cash_amount`, else `min_cash_amount`, else the trading increment when no minimum applies.
      - `name` string, required: Display name of the instrument.
      - `price_type` 'percent' | 'money', required
      - `pro_traders_only` boolean, required: Whether the instrument is restricted to professional investors.
      - `required_cash_increment` integer, required: Deprecated: no longer enforced, always zero.
      - `rollout_stage` 'ga' | 'beta' | 'provisional' | 'restricted', required
      - `symbol` string, required: Market identifier, such as an ISIN or currency pair.
      - `target_client_categories` ClientCategory[], required: MiFID II client categories this instrument is intended for.
      - `ticker` string, nullable: Ticker symbol of the security.
      - `trading_configuration` TradingConfiguration, required: The order rules of an instrument, split by side.
        - `buy` BuyTradingConfiguration, required: How a buy may be sized and the minimums it must meet. A null minimum is not applied.
          - `min_cash_amount` string, nullable, required: Cash every buy must invest, in the trading currency, excluding fees.
          - `min_initial_cash_amount` string, nullable, required: Cash a first buy must invest, on top of `min_cash_amount`. A buy is first when the account holds no position in the instrument.
          - `min_initial_quantity` string, nullable, required: Units a first buy must buy, on top of `min_quantity`.
          - `min_quantity` string, nullable, required: Units every buy must buy.
          - `modes` OrderMode[], required: How a buy may be sized: `cash` (spend an amount) and/or `quantity` (buy a number of units).
        - `sell` SellTradingConfiguration, required: How a sell may be sized and the minimums it must meet. A null minimum is not applied, and a sell of the whole position is never blocked by one.
          - `min_cash_amount` string, nullable, required: Cash every sell must raise, in the trading currency, before fees.
          - `min_quantity` string, nullable, required: Units every sell must sell.
          - `modes` OrderMode[], required: How a sell may be sized: `cash` (raise an amount) and/or `quantity` (sell a number of units).
      - `trading_currency` 'EUR' | 'USD' | 'GBP', required
      - `trading_increment` string, required: Smallest quantity increment accepted for orders.
      - `trading_status` 'buy_sell' | 'buy_only' | 'sell_only' | 'not_trading', required
    - AMC
      - `about` string, nullable: Summary of the instrument.
      - `asset_class` AssetClassAllocation[], nullable: How the instrument splits across asset classes, one entry per class, weights summing to 1. A single-class instrument carries one entry at a weight of 1. Null when the instrument carries no classification at all.
        - `asset_class` 'equity' | 'fixed_income' | 'cash' | 'alternatives' | 'uninvested', required
        - `weight` string, required: Share of the instrument sitting in this class.
      - `dealing_deadline` string, time, required: Daily cutoff time for placing orders.
      - `dealing_deadline_time_and_day` string, required: Next dealing cutoff shown as time and date.
      - `decimal_precision` integer, required: Decimal places used by the trading increment.
      - `enforce_trading_rules` boolean, required: Deprecated: use `trading_configuration`. Always false; the server enforces the trading rules.
      - `exchange` string, nullable: MIC of the listing venue.
      - `icon_url` string, nullable: Public CDN URL of the instrument's icon.
      - `id` string, required: Unique resource identifier.
      - `initial_issue_date` string, date, required: Date the instrument was first issued.
      - `instrument_type` 'amc', required: Instrument type.
      - `is_passed_dealing_deadline` boolean, required: Whether today's dealing cutoff has passed.
      - `isin` string, required: International Securities Identification Number.
      - `issuer` string, required: Name of the issuer.
      - `issuer_country` string, nullable, required: ISO 3166-1 alpha-2 country code of the issuer.
      - `issuer_credit_rating` string, required: Issuer credit rating.
      - `minimum_initial_cash_investment` string, required: Deprecated: use `trading_configuration.buy.min_initial_cash_amount`. Zero when no minimum applies.
      - `minimum_trading_quantity` string, required: Deprecated: use `trading_configuration.buy`. The cash a buy must invest: `min_initial_cash_amount`, else `min_cash_amount`, else the trading increment when no minimum applies.
      - `name` string, required: Display name of the instrument.
      - `portfolio_manager` string, nullable, required: Name of the portfolio manager.
      - `price_type` 'percent' | 'money', required
      - `pro_traders_only` boolean, required: Whether the instrument is restricted to professional investors.
      - `provider` string, nullable, required: Provider of the instrument.
      - `required_cash_increment` integer, required: Deprecated: no longer enforced, always zero.
      - `risk_profile` string, nullable, required: Risk profile.
      - `rollout_stage` 'ga' | 'beta' | 'provisional' | 'restricted', required
      - `share_class` string, nullable, required: Share class.
      - `strategy` string, nullable, required: Investment strategy.
      - `symbol` string, required: Market identifier, such as an ISIN or currency pair.
      - `target_client_categories` ClientCategory[], required: MiFID II client categories this instrument is intended for.
      - `ticker` string, nullable: Ticker symbol of the security.
      - `trading_configuration` TradingConfiguration, required: The order rules of an instrument, split by side.
        - `buy` BuyTradingConfiguration, required: How a buy may be sized and the minimums it must meet. A null minimum is not applied.
          - `min_cash_amount` string, nullable, required: Cash every buy must invest, in the trading currency, excluding fees.
          - `min_initial_cash_amount` string, nullable, required: Cash a first buy must invest, on top of `min_cash_amount`. A buy is first when the account holds no position in the instrument.
          - `min_initial_quantity` string, nullable, required: Units a first buy must buy, on top of `min_quantity`.
          - `min_quantity` string, nullable, required: Units every buy must buy.
          - `modes` OrderMode[], required: How a buy may be sized: `cash` (spend an amount) and/or `quantity` (buy a number of units).
        - `sell` SellTradingConfiguration, required: How a sell may be sized and the minimums it must meet. A null minimum is not applied, and a sell of the whole position is never blocked by one.
          - `min_cash_amount` string, nullable, required: Cash every sell must raise, in the trading currency, before fees.
          - `min_quantity` string, nullable, required: Units every sell must sell.
          - `modes` OrderMode[], required: How a sell may be sized: `cash` (raise an amount) and/or `quantity` (sell a number of units).
      - `trading_currency` 'EUR' | 'USD' | 'GBP', required
      - `trading_increment` string, required: Smallest quantity increment accepted for orders.
      - `trading_status` 'buy_sell' | 'buy_only' | 'sell_only' | 'not_trading', required
    - ETF
      - `about` string, nullable: Summary of the instrument.
      - `asset_class` AssetClassAllocation[], nullable: How the instrument splits across asset classes, one entry per class, weights summing to 1. A single-class instrument carries one entry at a weight of 1. Null when the instrument carries no classification at all.
        - `asset_class` 'equity' | 'fixed_income' | 'cash' | 'alternatives' | 'uninvested', required
        - `weight` string, required: Share of the instrument sitting in this class.
      - `currency_sentence` string, nullable, required: Plain-language description of the fund's currency risk.
      - `decimal_precision` integer, required: Decimal places used by the trading increment.
      - `display_name` string, nullable, required: Short card headline derived from the legal name with share-class tokens removed.
      - `distribution_frequency` 'annual' | 'semi_annual' | 'quarterly' | 'monthly', required
      - `distribution_policy` 'accumulating' | 'distributing', required
      - `enforce_trading_rules` boolean, required: Deprecated: use `trading_configuration`. Always false; the server enforces the trading rules.
      - `exchange` string, nullable: MIC of the listing venue.
      - `expense_ratio` string, nullable, required: Annual expense ratio as a fraction of assets.
      - `fund_base_currency` 'EUR' | 'USD' | 'GBP', required
      - `fund_category` string, nullable, required: Fund category.
      - `fund_domicile` string, nullable, required: ISO 3166-1 alpha-2 domicile country code.
      - `fund_management` string, nullable, required: Legal company that manages the fund.
      - `headline` string, nullable, required: One-line "what do I own" summary shown on the holding card.
      - `hedge_currency` 'EUR' | 'USD' | 'GBP', required
      - `icon_url` string, nullable: Public CDN URL of the instrument's icon.
      - `id` string, required: Unique resource identifier.
      - `initial_issue_date` string, date, nullable, required: Fund inception date.
      - `instrument_type` 'etf', required: Instrument type.
      - `isin` string, required: International Securities Identification Number.
      - `issuer` string, nullable, required: Brand-level name of the fund issuer.
      - `issuer_country` string, nullable, required: ISO 3166-1 alpha-2 country code of the issuer.
      - `minimum_initial_cash_investment` string, required: Deprecated: use `trading_configuration.buy.min_initial_cash_amount`. Zero when no minimum applies.
      - `minimum_trading_quantity` string, required: Deprecated: use `trading_configuration.buy`. The cash a buy must invest: `min_initial_cash_amount`, else `min_cash_amount`, else the trading increment when no minimum applies.
      - `name` string, required: Display name of the instrument.
      - `net_assets` string, nullable: Total net asset value of the fund.
      - `price_type` 'percent' | 'money', required
      - `pro_traders_only` boolean, required: Whether the instrument is restricted to professional investors.
      - `replication_method` 'physical' | 'sampling' | 'synthetic', required
      - `required_cash_increment` integer, required: Deprecated: no longer enforced, always zero.
      - `rhp_years` integer, nullable, required: Recommended holding period in years from the PRIIPs KID.
      - `rollout_stage` 'ga' | 'beta' | 'provisional' | 'restricted', required
      - `sri` 1 | 2 | 3 | 4 | 5 | 6 | 7, required
      - `symbol` string, required: Market identifier, such as an ISIN or currency pair.
      - `target_client_categories` ClientCategory[], required: MiFID II client categories this instrument is intended for.
      - `ticker` string, required: Ticker symbol of the ETF listing.
      - `tracking_index` string, nullable, required: Index tracked by the fund.
      - `trading_configuration` TradingConfiguration, required: The order rules of an instrument, split by side.
        - `buy` BuyTradingConfiguration, required: How a buy may be sized and the minimums it must meet. A null minimum is not applied.
          - `min_cash_amount` string, nullable, required: Cash every buy must invest, in the trading currency, excluding fees.
          - `min_initial_cash_amount` string, nullable, required: Cash a first buy must invest, on top of `min_cash_amount`. A buy is first when the account holds no position in the instrument.
          - `min_initial_quantity` string, nullable, required: Units a first buy must buy, on top of `min_quantity`.
          - `min_quantity` string, nullable, required: Units every buy must buy.
          - `modes` OrderMode[], required: How a buy may be sized: `cash` (spend an amount) and/or `quantity` (buy a number of units).
        - `sell` SellTradingConfiguration, required: How a sell may be sized and the minimums it must meet. A null minimum is not applied, and a sell of the whole position is never blocked by one.
          - `min_cash_amount` string, nullable, required: Cash every sell must raise, in the trading currency, before fees.
          - `min_quantity` string, nullable, required: Units every sell must sell.
          - `modes` OrderMode[], required: How a sell may be sized: `cash` (raise an amount) and/or `quantity` (sell a number of units).
      - `trading_currency` 'EUR' | 'USD' | 'GBP', required
      - `trading_increment` string, required: Smallest quantity increment accepted for orders.
      - `trading_status` 'buy_sell' | 'buy_only' | 'sell_only' | 'not_trading', required
  - `modified_at` string, date-time, required: Time the position record was last modified.
  - `most_recent_maturity_period` string, nullable, required: Most recent maturity period used for rollover.
  - `opened_at` string, date-time, required: Time the position was opened.
  - `reserved` string, required: Instrument quantity reserved by pending orders.
  - `settled` string, required: Settled instrument quantity.
  - `status` 'open' | 'closing' | 'closed', required
  - `total` string, required: Total instrument quantity held.
  - `total_buy_trades` integer, required: Number of buy trades contributing to the position.
  - `unsettled` string, required: Instrument quantity awaiting settlement.
  - `ytm` string, nullable, required: Yield to maturity as a percentage.

## Other responses

- `400`: Bad Request

## Changes

- **2026-10-29** `6a63920239d8`: 2 breaking, 3 warning, 3 info
  - added `#/components/schemas/Bill, #/components/schemas/CurrencyPair, #/components/schemas/Bond, #/components/schemas/MoneyMarketFund, #/components/schemas/AMC, #/components/schemas/ETF` to the `items/instrument` response property `oneOf` list for the response status `200`
  - the `items/status` response's property type changed from no type to `string` for status `200`
  - added the new `closed` enum value to the `items/status` response property for the response status `200`
  - added the new `closing` enum value to the `items/status` response property for the response status `200`
  - …4 more
- **2026-10-06** `aa43bab6253c`: 1 breaking, 26 info
  - response property `context/additionalProperties/` list-of-types was widened by adding types `array` to media type `application/json` of response `400`
  - added the required property `items/instrument/anyOf[subschema #1: Bill]/trading_configuration` to the response with the `200` status
  - added the required property `items/instrument/anyOf[subschema #2: CurrencyPair]/trading_configuration` to the response with the `200` status
  - added the required property `items/instrument/anyOf[subschema #3: Bond]/trading_configuration` to the response with the `200` status
  - …23 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/joinsophic/apis/sophic-engine-api/changes/accounts/:account_id/positions/get.md)

---

[API](https://skmtc.dev/joinsophic/apis/sophic-engine-api.md) - [All operations](https://skmtc.dev/joinsophic/apis/sophic-engine-api/llms.txt) - [OpenAPI document](https://skmtc.dev/joinsophic/apis/sophic-engine-api/revisions/1afda7d8d185?raw)
