---
title: "Update Position"
method: PUT
path: "/positions/{id}"
tags: ["holdings"]
---

# Update Position

`PUT /positions/{id}`

Updates (a limited set of) settings for the given position.

## Path parameters

- `id` string, required

## Request body

- UpdatePositionRequest
  - `automatic_rollover` boolean, required — Automatic rollover setting, updateable only before the cutoff date.

## 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.
      - `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 — Whether order amounts must satisfy the instrument 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 — Minimum cash amount accepted for an initial investment.
      - `minimum_trading_quantity` string, required — Smallest quantity accepted for an order.
      - `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 — Cash increment accepted above the minimum investment.
      - `rollout_stage` 'ga' | 'beta' | 'provisional', 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.
      - `ticker` string, nullable — Ticker symbol of the security.
      - `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.
      - `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', required
      - `symbol` string, required — Market identifier, such as an ISIN or currency pair.
      - `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.
      - `coupon` string, required — Annual coupon rate as a percentage.
      - `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 — Whether order amounts must satisfy the instrument 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 — Minimum cash amount accepted for an initial investment.
      - `minimum_trading_quantity` string, required — Smallest quantity accepted for an order.
      - `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 — Cash increment accepted above the minimum investment.
      - `rollout_stage` 'ga' | 'beta' | 'provisional', 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.
      - `ticker` string, nullable — Ticker symbol of the security.
      - `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.
    - MoneyMarketFund
      - `about` string, nullable — Summary of the instrument.
      - `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 — Whether order amounts must satisfy the instrument 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 — Minimum cash amount accepted for an initial investment.
      - `minimum_trading_quantity` string, required — Smallest quantity accepted for an order.
      - `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 — Cash increment accepted above the minimum investment.
      - `rollout_stage` 'ga' | 'beta' | 'provisional', required
      - `symbol` string, required — Market identifier, such as an ISIN or currency pair.
      - `ticker` string, nullable — Ticker symbol of the security.
      - `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.
      - `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 — Whether order amounts must satisfy the instrument 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 — Minimum cash amount accepted for an initial investment.
      - `minimum_trading_quantity` string, required — Smallest quantity accepted for an order.
      - `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 — Cash increment accepted above the minimum investment.
      - `risk_profile` string, nullable, required — Risk profile.
      - `rollout_stage` 'ga' | 'beta' | 'provisional', 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.
      - `ticker` string, nullable — Ticker symbol of the security.
      - `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.
      - `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 — Whether order amounts must satisfy the instrument 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 — Minimum cash amount accepted for an initial investment.
      - `minimum_trading_quantity` string, required — Smallest quantity accepted for an order.
      - `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 — Cash increment accepted above the minimum investment.
      - `rhp_years` integer, nullable, required — Recommended holding period in years from the PRIIPs KID.
      - `rollout_stage` 'ga' | 'beta' | 'provisional', required
      - `sri` 1 | 2 | 3 | 4 | 5 | 6 | 7, required
      - `symbol` string, required — Market identifier, such as an ISIN or currency pair.
      - `ticker` string, required — Ticker symbol of the ETF listing.
      - `tracking_index` string, nullable, required — Index tracked by the fund.
      - `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

---

[API](https://skmtc.net/joinsophic/apis/sophic-engine-api.md) · [All operations](https://skmtc.net/joinsophic/apis/sophic-engine-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/joinsophic/sophic-engine-api/revisions/5b4c43e2941b/schema)
