PlaceSmartOrder
Place Order Smartly by analyzing the current open position. It matches the Position Size with the given position book. Buy/Sell Signal Orders will be traded accordingly to the Position Size.
Endpoint URL
Local Host : POST http://127.0.0.1:5000/api/v1/placesmartorder
Ngrok Domain : POST https://<your-ngrok-domain>.ngrok-free.app/api/v1/placesmartorder
Custom Domain: POST https://<your-custom-domain>/api/v1/placesmartorderSample API Request
{
"apikey": "<your_app_apikey>",
"strategy": "Test Strategy",
"exchange": "NSE",
"symbol": "IDEA",
"action": "BUY",
"product": "MIS",
"pricetype": "MARKET",
"quantity": "1",
"position_size": "5",
"price": "0",
"trigger_price": "0",
"disclosed_quantity": "0"
}Sample cURL Request
Sample API Response
Parameters Description
apikey
App API key
Mandatory
-
strategy
Strategy name
Mandatory
-
exchange
Exchange code
Mandatory
-
symbol
Trading symbol
Mandatory
-
action
Action (BUY/SELL)
Mandatory
-
product
Product type
Optional
MIS
pricetype
Price type
Optional
MARKET
quantity
Signal quantity. Unlike PlaceOrder, 0 is accepted here: it means "only reconcile to position_size"
Mandatory
-
position_size
Target net position, signed. Positive is long, negative is short, 0 is flat
Mandatory
-
price
Price
Optional
0
trigger_price
Trigger price
Optional
0
disclosed_quantity
Disclosed quantity
Optional
0
These twelve fields are the complete SmartOrderSchema. Any other field returns HTTP 400.
How PlaceSmartOrder API Works?
Video Tutorial: Watch on YouTube
PlaceSmartOrder API function allows traders to build intelligent trading systems that can automatically place orders based on existing trade positions in the position book.
BUY
100
0
0
No Open Pos Found. Buy +100 qty
BUY
100
100
-100
BUY 200 to match Open Pos in API Param
BUY
100
100
100
No Action. Position matched
BUY
100
200
100
BUY 100 to match Open Pos in API Param
SELL
100
0
0
No Open Pos Found. SELL 100 qty
SELL
100
-100
+100
SELL 200 to match Open Pos in API Param
SELL
100
-100
-100
No Action. Position matched
SELL
100
-200
-100
SELL 100 to match Open Pos in API Param
Response Fields
status
string
"success" or "error"
orderid
string
Unique order ID from broker (on success)
message
string
Error message or "No action needed" if position already at target
mode
string
"analyze" in analyzer mode. The key is absent in live mode; there is no "mode": "live"
Notes
Smart orders are ideal for position-based strategies where you want to maintain a specific position size
The position_size represents the absolute target position:
Positive values = Long position
Negative values = Short position
Zero = Flat (no position)
If current position already matches target, no order is placed
Works across all exchanges and product types
Fractional quantities are accepted only for
CRYPTO; non-crypto quantities must be whole numbers.Rate limit:
SMART_ORDER_RATE_LIMIT, default 10 requests per second
Back to: API Documentation
Last updated