Rest assured that the code to sell order provided below is functional and is in sync with our Example Codes.
import com.upstox.ApiClient;
import com.upstox.ApiException;
import com.upstox.Configuration;
import com.upstox.api.PlaceOrderRequest;
import com.upstox.api.PlaceOrderResponse;
import com.upstox.auth.*;
import io.swagger.client.api.OrderApi;
public class Main {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2");
OAUTH2.setAccessToken("{your_access_token}");
OrderApi apiInstance = new OrderApi();
PlaceOrderRequest body = new PlaceOrderRequest();
body.setQuantity(1);
body.setProduct(PlaceOrderRequest.ProductEnum.D);
body.setValidity(PlaceOrderRequest.ValidityEnum.DAY);
body.setPrice(0F);
body.setTag("string");
body.setInstrumentToken("NSE_EQ|INE669E01016");
body.orderType(PlaceOrderRequest.OrderTypeEnum.MARKET);
body.setTransactionType(PlaceOrderRequest.TransactionTypeEnum.SELL);
body.setDisclosedQuantity(0);
body.setTriggerPrice(0F);
body.setIsAmo(false);
String apiVersion = "2.0"; // String | API Version Header
try {
PlaceOrderResponse result = apiInstance.placeOrder(body, apiVersion);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling OrderApi#placeOrder ");
e.printStackTrace();
}
}
}
If you still get error please check for these two conditions
- During market hours, ensure that
setIsAmo
is set to false, and after market hours, set it to true. - If you don’t have DDPI activation, perform a CDSL verification before placing your first sell order of the day. For additional details, refer to this comment on CDSL Verification or DDPI activation.
We are working on our end to ensure that users receive a detailed response for if they encounter errors while selling orders using the Java SDK