OpenAPI

Message to indicate some change of order status. 

Additional Fields

NameTypeDescription
AllocationKeyIdStringAllocationKey if order was placed as block trade on IB account.
AmountDecimalOrder amount
AssetTypeAssetTypeAssetType of instrument traded.
AveragePriceDecimalThe average price of the FilledAmount
BuySellBuySellIdentifies the side of the transaction. 
Buy: Buy the security. 
Sell: Sell the security.
CorrelationKeyStringCorrelationkey, relating orders for better visual correlation.
DisplayAndFormatInstrumentDisplayAndFormatInformation about the instrument and how to display it.
DurationOrderDurationOrder duration
ExecutionPriceDecimalExecution price of this particular fill (if multiple fills)

ExchangeInfo

InstrumentExchangeDetails

Information about the instrument's exchange and trading status.

FillAmountDecimalThe amount of the current fill.
FilledAmountDecimalAmount currently filled
HandledByStringWould be either UserId if initiated by a known user or System if handled by the system.

OptionData

OptionData

Information related to options.

OrderIdStringOrder Id
OrderRelationOpenOrderRelationRelation to other active orders.
OrderTypeOpenOrderTypeThe OrderType
PositionIdStringId of position created, if order is filled (partially filled)
PriceDecimalOrder price.
RelatedOrdersString []Id's of one or more related orders.
RelatedPositionIdStringId of position to which this order is related.
StatusOrderStatus

OrderStatusType. Currently we are returning the following status values:

  • Cancelled: Order cancel.
  • Changed: Order change.
  • DoneForDay: Order is 'done for day' in external EMS and pulled back to Saxo.
  • Expired: Order expired.
  • Fill: Order fill (partial fill).
  • FinalFill: Final fill of order.
  • Placed: Order placement.
SubStatusSubStatus

One of:

  • Confirmed: The order event has been accepted by other dependant systems, typically the external broker.
  • Rejected: The order event has been rejected by the dependant system.
StopLimitPriceDecimalSecondary price level for StopLimit orders.
SymbolstringSymbol- A combination of letters used to uniquely identify a traded instrument. e.g. ODAX/X13C8950:xeur.

TrailingStopDistanceToMarket

DecimalDistance to market for a trailing stop order.
TrailingStopStepDecimalStep size for trailing stop order.
UicIntUic of instrument traded


Sample Message

An example of an order event message:

{
  "ReferenceId": "U_939",
  "Timestamp": "2018-07-11T13:39:30.239056Z",
  "Data": [
    {
      "AccountId": "IB-AMA-Cash",
      "ActivityTime": "2018-07-10T06:33:39.081874Z",
      "ActivityType": "Orders",
      "Amount": 10,
      "AssetType": "Stock",
      "AveragePrice": 177.64285714285714,
      "BuySell": "Buy",
      "ClientId": "2147045884",
      "CorrelationKey": "6f04c63d-5868-4b42-9269-cc55915f9fa9",
      "DisplayAndFormat": {
        "BarrierFormat": "Normal",
        "Currency": "USD",
        "Decimals": 2,
        "Description": "Apple Inc.",
        "Format": "Normal",
        "OrderDecimals": 2,
        "StrikeFormat": "Normal",
        "Symbol": "AAPL:xnas"
      },
      "Duration": {
        "DurationType": "GoodTillCancel",
        "ExpirationDateTime": "1/1/1900"
      },
      "ExchangeInfo": {
        "ExchangeId": "NASDAQ"
      },
      "ExecutionPrice": 175.5,
      "FillAmount": 4,
      "FilledAmount": 10,
      "HandledBy": "2147339098",
      "OrderId": "54016921",
      "OrderRelation": "StandAlone",
      "OrderType": "Limit",
      "PositionId": "150733135",
      "Price": 185.5,
      "SequenceId": "35350",
      "Status": "FinalFill",
      "SubStatus": "Confirmed",
      "Symbol": "AAPL:xnas",
      "Uic": 211
    }
  ]
}


Order Status and Sub Status

Order Status are used to indicate the intended new status of the order.

Order Status

The type of order event is provided in the Status field. The following values are possible:

Order Status

Description

CancelledOrder cancel initiated by client or dealer.
ChangedOrder change.
DoneForDayOrder is done for day in external OMS.
ExpiredOrder has expired.
FillOrder fill - (Also used for trade on quote in OrderLog)
FinalFillOrder fill - final fill of an open order.
PlacedNew order placement.

Order SubStatus

In the vast majority of cases an order event will be accepted by the underlying systems in which the Sub status of the event will be set to "Confirmed". If an order event is not accepted the sub status will be "Rejected", and you can effectively disregard the event, as the clients order will either not have been placed, or it will remain unchanged.


Order SubStatusDescription
ConfirmedThe order status provided in the Status field has been confirmed.
RejectedThe attempt to change the order status to the value in the Status field was rejected.


Known Issues

Price field shows too many decimals

Under some circumstances the Price, ExecutionPrice and AveragePrice field includes too many decimals. 

CorrelationKey for CfdOnIndex orders incorrect at Place order event

Only for orders of AssetType='CfdOnIndex'.