Too many requests. Further requests may result in the user being blocked

@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.


@Shrutika_Poojari thanks

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

image
@Hardik

[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:

  1. Refund of the loss.
  2. 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.