ExecuteMarketOrder or PlaceLimitOrder, you get back a TradeResult. It contains a status, any newly created Position or PendingOrder, and error info. For async calls, there is also a TradeOperation handle. (The API reference shows public TradeResult PlaceLimitOrder(...) returning a TradeResult.)