I’m trying to understand the current, correct way to attach a stop-loss and target to an options order via the API, and I’m getting conflicting signals from different parts of the docs/community, so I’d appreciate a direct, current answer.
Context:
I’m placing intraday NIFTY/BANKNIFTY option orders (BUY side only, e.g. NSE:NIFTY26O2223250CE) with a small, fixed premium-point stop-loss and target — typically 20-40 points on a ~150-250 premium. My entry orders use productType: “INTRADAY”.
What I’ve found so far, and where it’s unclear:
- The Order Placement Guide (docsv3#tag/Order-Placement-Guide/Product-Types) shows stopLoss/takeProfit as parameters on a normal order with productType INTRADAY/CNC/MARGIN/MTF — separate from the older productType: “BO”/“CO” mechanism.
- Multiple community threads report productType: “BO” being flatly rejected (“productType must be one of the following: CNC, MARGIN, INTRADAY, MTF”) — suggesting BO/CO may be deprecated in API v3.
- A support reply in an older BO thread (Jan 2024, options symbols FINNIFTY/NIFTY) states that for options, when LTP > Rs 50 the stop loss/take profit must be at least 40% above/below LTP, and 20% if LTP < Rs 50 – but the same user reported the order STILL failing even after following this rule.
- Your own “Why is my order getting rejected” KB article lists: “STOP LOSS MARKET ORDERS NOT ALLOWED [FYERS NFO OPTIDX SL-MKT]” for index options, with the suggested fix being to use SL-L instead of SL-M.