@Hardik the seq id is 120705 and this seq id of put option in reliance and yes the reliance options lot size is 500
Hey @Dev_Goswami2 ,
As we can see, you are not intending to place an AMO order. Hence, we request you to kindly remove the last two fields of AMO order and time. Your JSON should end with the trigger price. Also, please make sure to remove the comma ( , ) after the trigger price.
please check this why its rejecting @Shrutika_Poojari
Hey @Dev_Goswami2 ,
We would like to inform you that the Bracket Order has been discontinued.
As an alternative, you can use Super Order, which provides the same attributes as Bracket Order.
You may refer to the details here: Super Order - DhanHQ Ver 2.0 / API Document
but in super order i can not able to place the trigger price because of this my order is getting place bellow my limit price in my order @Shrutika_Poojari
Hi @Dev_Goswami2 We have introduced the Trigger on App / Web for Super Orders. Will bring this to APIs as well… Guessing that should resolve this?
@PravinJ when
[STATE] order_map={38372: {‘orderId’: ‘31225100645506’, ‘orderStatus’: ‘TRIGGERED’}}
I faced a loss of ₹13,612.50 because Dhan API returned an undocumented orderStatus: “TRIGGERED”. Their documentation only lists: TRANSIT, PENDING, REJECTED, CANCELLED, TRADED, EXPIRED.
Since my system didn’t recognize “TRIGGERED,” it couldn’t handle the order properly, causing the loss.
I’ve requested:
- Refund of the loss.
- Update of official docs to include all valid orderStatus values.
@Shrutika_Poojari could you please tell me why my order get rejected
Step 4: Price Calculation
trigger_price = ceil_to_05(opt_high) # trigger first
price = trigger_price + 0.05 # then price above it
# Step 5: Payload
payload_order: Dict[str, Any] = {
"dhanClientId": DHAN_CLIENT_ID,
"correlationId": f"order_{datetime.now().strftime('%H%M%S%f')}",
"transactionType": "BUY",
"exchangeSegment": "NSE_FNO",
"productType": "INTRADAY",
"orderType": "STOP_LOSS_MARKET",
"validity": "DAY",
"securityId": str(sec_id),
"quantity": int(qty),
"disclosedQuantity": 0,
"price": 0,
"triggerPrice": trigger_price,
}
logger.debug(f"Payload built for {stk_symb}-{sec_id}: {payload_order}")
# Step 6: API Call
response = session.post(
"https://api.dhan.co/v2/orders",
json=payload_order,
timeout=(5, 10),
)
logger.info(f"API Response status={response.status_code}")
{‘dhanClientId’: ‘1102954158’,
‘orderId’: ‘32251007498813’,
‘exchangeOrderId’: ‘1600000132689644’,
‘correlationId’: ‘order_063551636673’,
‘orderStatus’: ‘REJECTED’,
‘transactionType’: ‘BUY’,
‘exchangeSegment’: ‘NSE_FNO’,
‘productType’: ‘INTRADAY’,
‘orderType’: ‘STOP_LOSS_MARKET’,
‘validity’: ‘DAY’,
‘tradingSymbol’: ‘NIFTY-Oct2025-25150-CE’,
‘securityId’: ‘38397’,
‘quantity’: 75,
‘disclosedQuantity’: 0,
‘price’: 0.0,
‘triggerPrice’: 34.4,
‘afterMarketOrder’: False,
‘boProfitValue’: 0.0,
‘boStopLossValue’: 0.0,
‘legName’: ‘NA’,
‘createTime’: ‘2025-10-07 12:05:51’,
‘updateTime’: ‘2025-10-07 12:05:51’,
‘exchangeTime’: ‘1980-01-01 00:00:00’,
‘drvExpiryDate’: ‘2025-10-07’,
‘drvOptionType’: ‘CALL’,
‘drvStrikePrice’: 25150.0,
‘omsErrorCode’: ‘16052’,
‘omsErrorDescription’: ‘EXCH:16052:Function Not Available’,
‘algoId’: ‘0’,
‘remainingQuantity’: 75,
‘averageTradedPrice’: 0.0,
‘filledQty’: 0}
Hey @Dev_Goswami2 ,
We want to inform you that Stop-Loss Market (SL-M) orders are not allowed for option contracts, which is why your order is getting rejected.


