Preview Option Order

POST/accounts/{accountId}/previewOptionOrder

Preview an option order before submission. Returns a confirmId and structured confirmation details. Use this to validate the order, check for sufficient buying power, calculate fees and show the validation results to the human. The human can then decline or proceed with order placement, in this case pass confirmId to Place Option Order to submit. Option symbol is expected in the following format: [Underlying symbol][Expiration date YYYYMMDD][C or P][Strike price]

Path Parameters

accountIdstringrequired

The account identifier.

Body Parameters

contractIdstringrequired

Option contract symbol in the following format: Example: AAPL20260116C150 (AAPL, expiring 2026-01-16, call, strike $150).

sidestringrequired

Order direction.

openClosestringrequired

Whether the order opens a new position or closes an existing one.

typestringrequired

Order type.

categorystringrequired

Asset class. Use option.

qtystringrequired

Number of contracts.

durationTypestringrequired

Order time-in-force.

limitPricestringoptional

Limit price. Required for limit order type.

stopPricestringoptional

Stop trigger price. Required for stop order type.

Request Example

Preview Option Order
JSON
{
  "contractId": "AAPL20260116C150",
  "side": "buy",
  "openClose": "open",
  "type": "limit",
  "qty": "1",
  "limitPrice": "5.00",
  "category": "option",
  "durationType": "day"
}

Response

200application/json

Preview generated successfully.

sstring

Status indicator. ok on success.

errmsgstring

Error message if the preview could not be generated.

dobject
d.confirmIdstring

Confirmation token to pass back as confirmId when calling Place Option Order.

d.sectionsobject[]

Informational sections to display to the user before order submission.

d.sections[].headerstring

Section heading.

d.sections[].rowsobject[]
d.sections[].rows[].labelstring
d.sections[].rows[].valuestring
d.sections[].warningsstring[]

Warning messages for the section.

d.sections[].errorsstring[]

Error messages for the section.

Response

401application/json

Unauthorized — missing or invalid authentication.

sstring

Error code string, e.g. invalid_grant.

errmsgstring

Human-readable error message.

Response

errorapplication/json

Error response.

sstring

Error code string, e.g. invalid_grant.

errmsgstring

Human-readable error message.

Response Example

{
  "s": "ok",
  "d": {
    "confirmId": "0000001",
    "sections": [
      {
        "header": "Estimated",
        "rows": [
          {
            "label": "Estimated Cost",
            "value": "$500.00"
          }
        ],
        "warnings": [
          "A warning is some message that should be shown to the user, but not necessarily preventing from executing the order."
        ],
        "errors": [
          "The order can not be executed right now because of errors specified here."
        ]
      }
    ]
  }
}