Skip to navigation

Modify Order

View as Markdown

Modify the parameters of a working order.

Available to: All authenticated users

Environments: Demo, Live

Rate Limit: 750 requests per hour, 1-second back-off, counts all requests

Requests changes to a working order — for example, the trigger price of a Stop or Limit order, or the orderQty. Identify the order by its orderId. A successful request isn’t a guarantee that the change is applied: market, exchange, and logical rules still apply, and the order may already have filled or been cancelled. When the request is rejected, the response carries a failureReason and failureText.

Common Failure Scenarios

  • The order already filled or was cancelled, so it can no longer be modified (TooLate).
  • Another command for the order is still being processed (AnotherCommandPending).
  • The new price is invalid for the order type (InvalidPrice).

Error Messages

failureReasonTrigger
TooLateThe order already filled or was cancelled.
AnotherCommandPendingA previous command for this order hasn’t completed.
InvalidPriceThe requested price is invalid for the order type.

See the failureReason enum in the response schema for the complete list of values.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
orderIdlongRequired
orderQtyintegerRequired
orderTypeenumRequired
Limit, LimitIfTouched, MIT, Market, MarketLimit, MarketStopWithProtection, MarketWithProtection, QTS, Stop, StopLimit, TrailingStop, TrailingStopLimit
clOrdIdstringOptional<=64 characters
pricedoubleOptional
stopPricedoubleOptional
limitIfTouchedPricedoubleOptional
maxShowintegerOptional
pegDifferencedoubleOptional
timeInForceenumOptional
Day, FOK, GTC, GTD, IOC
Allowed values:
expireTimedatetimeOptional
textstringOptional<=64 characters
activationTimedatetimeOptional
customTag50stringOptional<=64 characters

Operator ID for the order. Send it only if NinjaTrader configured an allow-list of operator IDs for your user. In that case it’s required on every order and must exactly match one approved value. If no allow-list is configured, omit it: a supplied value is denied. Organizations using passthrough also omit it, and NinjaTrader fills it in. Up to 64 characters. See Operator ID (customTag50) and Passthrough.

isAutomatedbooleanOptional

Response

CommandResult
failureReasonenumOptional
AccountClosed, AdvancedTrailingStopUnsupported, AnotherCommandPending, BackMonthProhibited, ExecutionProviderNotConfigured, ExecutionProviderUnavailable, HomeStateRestricted, InvalidContract, InvalidPrice, KeyInformationDocumentRequired, LiquidationOnly, LiquidationOnlyBeforeExpiration, MaxOrderQtyIsNotSpecified, MaxOrderQtyLimitReached, MaxPosLimitMisconfigured, MaxPosLimitReached, MaxTotalPosLimitReached, MinTradeDurationNotElapsed, MultipleAccountPlanRequired, NoQuote, NotEnoughLiquidity, OtherExecutionRelated, ParentRejected, RiskCheckTimeout, SSFNFAComplianceRequired, SSFNFAComplianceRequiredJointOnly, SSFRiskDisclosureAcknowledgmentRequired, SessionClosed, Success, TooLate, TradingLocked, TrailingStopNonOrderQtyModify, Unauthorized, UnknownReason, Unsupported
failureTextstringOptional<=8192 characters
commandIdlongOptional