Account: A652324
API Key: YOiSsvNo
Issue: placeOrder returns HTTP 400 empty body (EMPTY_400) for ALL MCX option
orders regardless of producttype or ordertype.
Tested combinations - all fail identically:
producttype=NRML, ordertype=LIMIT
producttype=NRML, ordertype=MARKET
producttype=MIS, ordertype=LIMIT
producttype=MIS, ordertype=MARKET
Sample failing params:
{
"variety": "NORMAL",
"tradingsymbol": "CRUDEOIL16JUN2610700CE",
"symboltoken": "566080",
"transactiontype": "BUY",
"exchange": "MCX",
"ordertype": "LIMIT",
"producttype": "NRML",
"duration": "DAY",
"price": "254.0",
"quantity": "100"
}
Error response:
{'status': False, 'message': 'HTTP 400 empty body', 'errorcode': 'EMPTY_400', 'data': None}
Verified:
Symbol confirmed valid via searchScrip (returns token 566080)
IP whitelisted: 49.43.240.109 (matches current IP)
MCX options segment IS active (traded CRUDEOIL PE 8000 + PE 8100 on 07-May-2026 via app)
NSE/NFO orders work fine via same API
squareoff/stoploss NOT included in params
MCX futures orders also attempted - same EMPTY_400.
Only MCX options/futures via API fail. App works fine for same contracts.
Please check backend routing for MCX segment on this API key.