Hi everyone,
I’m building a small trading tool using the Fyers API (Python, fyers-apiv3) and I’m running into an issue with order placement.
Whenever I call place_order, I get this response:
Order placement failed: {'code': -50, 'message': 'Request rejected: Order placement restricted. Algo orders are not allowed from this app XULI15JWDH-100', 's': 'error'}
My setup:
App type: User App
Client ID / App ID: XULI15JWDH-100
On the Fyers API dashboard, under App Permissions, “Order Placement” is enabled.
I’m using the v3 Python SDK (
fyers-apiv3).Orders are placed only when I manually click a button in my UI (Streamlit) – so it’s semi‑manual, not a fully unattended high-frequency algo.
Sample order payload:
order_data = {
"symbol": "NSE:AARON-EQ",
"qty": 1,
"type": 2, # 2 = Market, 1 = Limit
"side": -1, # 1 = Buy, -1 = Sell
"productType": "INTRADAY",
"limitPrice": 0,
"stopPrice": 0,
"validity": "DAY",
"disclosedQty": 0,
"offlineOrder": False,
"stopLoss": 0,
"takeProfit": 0,
}
response = fyers.place_order(order_data)
Questions:
What exactly does “Algo orders are not allowed from this app” mean in this context?
Even though Order Placement is enabled for my app, do I need a separate “Algo Trading” approval or a different app type to place orders via API?
If yes, what is the correct process to get this enabled for app
XULI15JWDH-100?Is there a specific form, setting on the dashboard, or support email I should contact?
Are there any restrictions on which product types (
INTRADAY,CNC,MARGIN, etc.) or parameters are allowed for user apps?
Any guidance from the Fyers team or others who’ve run into the same code: -50 error would be really appreciated. I’d like to understand whether I’m misconfigured, missing a permission, or if this is a hard restriction for my account/app type.
Thanks in advance!