---
title: "Get option order impact"
method: POST
path: "/accounts/{accountId}/trading/options/impact"
tags: ["Trading"]
---

# Get option order impact

`POST /accounts/{accountId}/trading/options/impact`

Simulates an option order with up to 4 legs and returns the estimated cost and transaction fees without placing it.
Only supported for certain enabled brokerages. Please refer to the [brokerage trading support page](https://support.snaptrade.com/brokerages) for more information on which brokerages support this endpoint.

## Path parameters

- `accountId` string, uuid, required — Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.

## Query parameters

- `userId` string, required — SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
- `userSecret` string, required — SnapTrade User Secret. This is a randomly generated string and should be stored securely. If compromised, please rotate it via the [rotate user secret endpoint](/reference/Authentication/Authentication_resetSnapTradeUserSecret).

## Request body

- MlegTradeForm — Inputs for placing a multi-leg order with the brokerage.
  - `order_type` 'MARKET' | 'LIMIT' | 'STOP_LOSS_MARKET' | 'STOP_LOSS_LIMIT', required — The type of order to place.
  - `time_in_force` 'FOK' | 'Day' | 'GTC' | 'IOC', required — The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order must be executed immediately. Any portion of the order that cannot be filled immediately will be canceled.
  - `limit_price` string, decimal, nullable — The limit price. Required if the order type is `LIMIT`, `STOP_LOSS_LIMIT`.
  - `stop_price` string, decimal, nullable — The stop price. Required if the order type is `STOP_LOSS_MARKET`, `STOP_LOSS_LIMIT`.
  - `price_effect` 'CREDIT' | 'DEBIT' | 'EVEN' — The desired price_effect for `LIMIT` and `STOP_LOSS_LIMIT` orders. Values are `CREDIT`, `DEBIT`, `EVEN`
  - `legs` MlegLeg[], required
    - `instrument` MlegTradingInstrument, required
      - `symbol` string, required — The security's trading ticker symbol. This currently supports stock symbols and Options symbols in the 21 character OCC format. For example `AAPL 251114C00240000` represents a call option on AAPL expiring on 2025-11-14 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format)
      - `instrument_type` 'OPTION' | 'EQUITY', required — The instrument's type
    - `action` 'BUY' | 'SELL' | 'BUY_TO_OPEN' | 'BUY_TO_CLOSE' | 'SELL_TO_OPEN' | 'SELL_TO_CLOSE', required — The action describes the intent and side of a trade. For equities, this is either `BUY` or `SELL`. For options, this is one of `BUY_TO_OPEN`, `BUY_TO_CLOSE`, `SELL_TO_OPEN`, `SELL_TO_CLOSE`.
    - `units` integer, required — The quantity to trade. For options this represents the number of contracts. For equity this represents the number of shares.

## Response `200`

OK

- OptionImpact — Estimated cash change and fees for an option order before it is placed.
  - `estimated_cash_change` string — Estimated cash change for the order, before fees.
  - `cash_change_direction` 'CREDIT' | 'DEBIT' | 'EVEN' | 'UNKNOWN', nullable — Direction of the cash change. CREDIT means cash is received, DEBIT means cash is paid out, EVEN means no cash changes hands. UNKNOWN if the direction cannot be determined from the request.
  - `estimated_fee_total` string — Estimated total transaction fees and commissions for the order.

## Other responses

- `400` — Invalid request, or option impact is not supported for this brokerage
- `403` — Forbidden
- `501` — Deprecated. Previously returned when option impact was not supported for this brokerage; such requests now return 400.

---

[API](https://skmtc.net/passiv/apis/snaptrade.md) · [All operations](https://skmtc.net/passiv/apis/snaptrade/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/passiv/snaptrade/revisions/993e058b557e/schema)
