Skip to content

Orders

Note

The BASE URL, Endpoint, and Payload JSON key values are case-sensitive. Please use the format which we have given in the documentation.

Type API's Details
POST {{BASE_URL}}/open-api/od/v1/orders/placeorder Place Order submits a buy or sell request for a specific asset.
GET {{BASE_URL}}/open-api/od/v1/orders/book An Order Book is a real-time record of all buy and sell orders.
POST {{BASE_URL}}/open-api/od/v1/orders/history Order History is a record of all past buy and sell orders made by a user.
POST {{BASE_URL}}/open-api/od/v1/orders/modify Modify orders means changing an existing order’s price, quantity, or type.
POST {{BASE_URL}}/open-api/od/v1/orders/cancel Cancel orders means to revoke or delete a placed order before execution.
GET {{BASE_URL}}/open-api/od/v1/orders/trades TradeBook records all executed trades with details like price, quantity, and time.
POST {{BASE_URL}}/open-api/od/v1/orders/checkMargin Single Order Margin provides margin details required for placing a specific order.
POST {{BASE_URL}}/open-api/od/v1/orders/basket/margin Basket Margin provides margin details for multiple scrips.
POST {{BASE_URL}}/open-api/od/v1/orders/exit/sno Exit bracket order.

Place Order

Request Structure

[
    {
        "exchange": "NSE",
        "instrumentId": "22",
        "transactionType": "BUY",
        "quantity": 30,
        "product": "LONGTERM",
        "orderComplexity": "REGULAR",
        "orderType": "LIMIT",
        "validity": "DAY",
        "price": 1120.15,
        "slLegPrice": 0.00,
        "targetLegPrice": 0.00,
        "slTriggerPrice": 0.00,
        "disclosedQuantity": 0,
        "marketProtectionPercent": "",
        "deviceId": "123",
        "trailingSlAmount": "",
        "orderTag": ""
    }
]

Input parameters

Field Type Criticality Description
instrumentId String Required Unique identifier assigned to the specific instrument being traded.
exchange String Required Code representing the exchange where the trade is executed.
transactionType String Required Type of transaction, indicating whether the trade is a "BUY" or "SELL".
quantity Int Required Quantity of the instrument to be traded.
orderComplexity String Required Complexity level of the order (e.g., REGULAR, AMO).
product String Required Product category of the trade (e.g., DELIVERY, INTRADAY, LONGTERM, MTF).
orderType String Required Type of order (eg., Limit, Market, SL, SLM).
validity String Required Validity period of the order (e.g., DAY, IOC).
price Float Conditionally Required Price specified for the trade; may be ignored for market orders.
slTriggerPrice Float Conditionally Required Trigger price for stop-loss orders.
trailingSlAmount String Optional Amount by which the stop-loss will trail the market price.
disclosedQuantity Int Optional Portion of the total quantity disclosed to the market.
marketProtectionPercent String Optional Allowed percentage deviation from the market price to protect from slippage.
orderTag String Optional Custom tag to identify or group orders (user-defined).
slLegPrice Float Optional Stop-loss price for the leg in a multi-leg order.
targetLegPrice Float Optional Target price for the leg in a multi-leg order.
deviceId String Optional Identifier of the device placing the order (used for tracking or analytics).

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "brokerOrderId": "26081900044170",
            "requestTime": "10:25:03 19-08-2026"
        }
    ]
}

Response Parameters

Field Type Description
requestTime String when the API request was initiated by the client, used for logging, tracking, or validating request timing.
brokerOrderId String Broker orderId is defined as Unique number it can be generated while placing the order.

Order Book

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "clientId": "912444",
            "placedBy": "912444",
            "brokerOrderId": "25071400112229",
            "exchange": "NSE",
            "exchangeOrderId": "",
            "formattedInstrumentName": "ACC-EQ",
            "tradingSymbol": "ACC",
            "instrumentId": "22",
            "transactionType": "BUY",
            "quantity": 30,
            "product": "LONGTERM",
            "orderComplexity": "REGULAR",
            "orderType": "LIMIT",
            "price": 1120.15,
            "averageTradedPrice": 0,
            "slTriggerPrice": 0,
            "validity": "DAY",
            "disclosedQuantity": 0,
            "orderTime": "",
            "exchangeUpdateTime": "",
            "rejectionReason": "ORA:Price 1120.15 is not a multiple of tick size 0.10 ",
            "mainLegOrderId": "",
            "cancelledQuantity": 0,
            "pendingQuantity": 0,
            "filledQuantity": 0,
            "appKey": "",
            "source": "API",
            "orderTag": "",
            "trailingSlAmount": 0,
            "brokerUpdateTime": "",
            "marketProtectionPercent": "",
            "exchangeTimestamp": "",
            "orderStatus": "REJECTED",
            "lotsize": 1
        }
    ]
}

Response Parameters

Field Type Description
clientId String UCC client ID.
placedBy String Dealer/Client code who placed the order.
brokerOrderId String Unique ID assigned to the order by the broker.
exchange String Exchange and segment (e.g., NSE,BSE).
exchangeOrderId String Unique ID assigned to the order by the exchange.
formattedInstrumentName String Full name of the instrument.
tradingSymbol String Trading symbol of the instrument.
instrumentId String Unique identifier or scrip code of the instrument.
transactionType String Type of transaction:Buy or Sell.
quantity Int Total quantity for the order.
product String Product category of the trade (e.g., DELIVERY, INTRADAY, LONGTERM, MTF).
orderComplexity String Type of order: REGULAR, AMO, etc.
orderType String Type of order (eg., Limit, Market, SL, SLM).
price Float Limit price entered by the client.
averageTradedPrice Float Weighted average price of matched trades.
slTriggerPrice Float Stop Loss trigger price.
validity String Order validity duration (e.g., DAY, IOC).
disclosedQuantity Int Quantity to be disclosed in market feed.
orderTime DateTime Date and time when the order was initially placed on the exchange or by the client.
exchangeUpdateTime DateTime Time when the latest update for this order came from exchange.
rejectionReason String Reason for order rejection.
mainLegOrderId String Identifier for the main/parent order in a bracket order.
cancelledQuantity Int Quantity of the order that was cancelled.
pendingQuantity Int Quantity of the order still pending.
filledQuantity Int Quantity of the order that has been filled.
appKey String App key of the client/vendor/franchise that placed the order.
source String Origin of the order (Web, App, API, etc.).
orderTag String User-defined tag for internal tracking.
trailingSlAmount Float Amount by which SL price trails the market.
brokerUpdateTime DateTime Timestamp when the broker last updated the order.
marketProtectionPercent String Price deviation limit for market protection.
exchangeTimestamp DateTime Timestamp when the order was placed.
orderStatus String Current status of the order (e.g., rejected, open, complete).
lotsize Float The quantity or size of the order, typically representing the number of units, shares, or contracts in the order.

Order History

Request Structure

{
    "brokerOrderId": "250526000002881"
}

Input Parameters

Field Type Description
brokerOrderId String Unique ID assigned to the order by the broker.

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "clientId": "912444",
            "placedBy": "912444",
            "brokerOrderId": "25071400112229",
            "exchange": "NSE",
            "exchangeOrderId": "",
            "formattedInstrumentName": "ACC-EQ",
            "tradingSymbol": "ACC-EQ",
            "instrumentId": "22",
            "transactionType": "BUY",
            "quantity": 30,
            "product": "LONGTERM",
            "orderComplexity": "REGULAR",
            "orderType": "LIMIT",
            "price": 1120.15,
            "averageTradedPrice": 0,
            "slTriggerPrice": 0,
            "validity": "DAY",
            "disclosedQuantity": 0,
            "orderTime": "",
            "exchangeUpdateTime": "",
            "rejectionReason": "ORA:Price 1120.15 is not a multiple of tick size 0.10 ",
            "mainLegOrderId": "",
            "cancelledQuantity": 0,
            "pendingQuantity": 0,
            "filledQuantity": 0,
            "appKey": "",
            "source": "API",
            "orderTag": "",
            "trailingSlAmount": 0,
            "brokerUpdateTime": "",
            "marketProtectionPercent": "",
            "exchangeTimestamp": "",
            "orderStatus": "REJECTED"
            "lotsize": 1
        }
    ]
}

Response Parameters

Field Type Description
clientId String UCC client ID.
placedBy String Dealer/Client code who placed the order.
brokerOrderId String Unique ID assigned to the order by the broker.
exchange String Exchange and segment (e.g., NSE,BSE).
exchangeOrderId String Unique ID assigned to the order by the exchange.
formattedInstrumentName String Full name of the instrument.
tradingSymbol String Trading symbol of the instrument.
instrumentId String Unique identifier or scrip code of the instrument.
transactionType String Type of transaction:Buy or Sell.
quantity Int Total quantity for the order.
product String Product category of the trade (e.g., DELIVERY, INTRADAY, LONGTERM, MTF).
orderComplexity String Type of order: REGULAR, AMO, etc.
orderType String Type of order (eg., Limit, Market, SL, SLM).
price Float Limit price entered by the client.
averageTradedPrice Float Weighted average price of matched trades.
slTriggerPrice Float Stop Loss trigger price.
validity String Order validity duration (e.g., DAY, IOC).
disclosedQuantity Int Quantity to be disclosed in market feed.
orderTime DateTime Date and time when the order was initially placed on the exchange or by the client.
exchangeUpdateTime DateTime Time when the latest update for this order came from exchange.
rejectionReason String Reason for order rejection.
mainLegOrderId String Identifier for the main/parent order in a bracket order.
cancelledQuantity Int Quantity of the order that was cancelled.
pendingQuantity Int Quantity of the order still pending.
filledQuantity Int Quantity of the order that has been filled.
appKey String App key of the client/vendor/franchise that placed the order.
source String Origin of the order (Web, App, API, etc.).
orderTag String User-defined tag for internal tracking.
trailingSlAmount Float Amount by which SL price trails the market.
brokerUpdateTime DateTime Timestamp when the broker last updated the order.
marketProtectionPercent String Price deviation limit for market protection.
exchangeTimestamp DateTime Timestamp when the order was placed.
orderStatus String Current status of the order (e.g., rejected, open, complete).
lotsize Float The quantity or size of the order, typically representing the number of units, shares, or contracts in the order.

Modify Order

Request Structure

{
    "brokerOrderId": "25061300124513",
    "quantity": 3,
    "orderType": "SL",
    "slTriggerPrice": 5400,
    "price": 8,
    "slLegPrice": 5369, //stoploss
    "trailingSlAmount": 0,
    "targetLegPrice": 5500, //targetPrice
    "validity": "DAY",
    "disclosedQuantity": 0,
    "marketProtectionPercent": "",
    "deviceId": "123"
}

Input parameters

Field Type Criticality Description
brokerOrderId String Required Unique ID assigned to the order by the broker.
quantity Int Required Quantity of the instrument specified in the order.
orderType String Required Type of order (eg., Limit, Market, SL, SLM).
price Float Required Price at which the order is intended to execute, if applicable.
slTriggerPrice Float Conditionally Required Price at which a conditional order triggers, used for stop orders.
validity String Required Order validity duration (e.g., DAY, IOC).
disclosedQuantity Int Optional Quantity disclosed to the market for transparency, if different from the full quantity.
marketProtectionPercent String Optional Market protection setting to reduce impact on price movement; may be blank if unused.
trailingSlAmount Float Conditionally Required Amount by which SL price trails the market.
slLegPrice Float Conditionally Required Stop-loss price for the leg in a multi-le order.
targetLegPrice Float Conditionally Required Target price for the leg in a multi-leg order.
deviceId String Optional Identifier of the device placing the order (used for tracking or analytics).

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "brokerOrderId": "250526000002881",
            "requestTime": "10:25:03 19-08-2026"
        }
    ]
}

Response Parameters

Field Type Description
requestTime String when the API request was initiated by the client, used for logging, tracking, or validating request timing.
brokerOrderId String Order Number is defined as Unique number it can be generated while placing the order.

Cancel Order

Request Structure

{
    "brokerOrderId":"250526000002881"
}
Input Parameters

Field Type Description
brokerOrderId String Unique ID assigned to the order by the broker.

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "brokerOrderId": "250526000002881",
            "requestTime": "10:25:03 19-08-2026"
        }
    ]
}

Response Parameters

Field Type Description
requestTime String when the API request was initiated by the client, used for logging, tracking, or validating request timing.
brokerOrderId String Order Number is defined as Unique number it can be generated while placing the order.

Trade Book

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "clientId": "DK2200295",
            "placedBy": "DK2200295",
            "brokerOrderId": "250526000005634",
            "exchangeOrderId": "1100000067912030",
            "exchangeTradeId": "207745115",
            "formattedInstrumentName": "IDEA",
            "tradingSymbol": "IDEA-EQ",
            "instrumentId": "14366",
            "exchange": "NSE",
            "transactionType": "BUY",
            "product": "LONGTERM",
            "orderComplexity": "REGULAR",
            "orderType": "MARKET",
            "validity": "DAY",
            "tradedPrice": 6.95,
            "filledQuantity": 1,
            "orderTime": "2025-05-26 14:27:43",
            "fillTimestamp": "2025-05-26 14:27:43",
            "orderTag": "--"
        }
    ]
}

Response Parameters

Field Type Description
clientId String UCC client ID.
placedBy String Dealer/Client code who placed the order.
brokerOrderId String Unique ID assigned to the order by the broker.
exchangeOrderId String Unique ID assigned to the order by the exchange.
exchangeTradeId String A unique identifier assigned by the exchange to each executed trade
formattedInstrumentName String Full name of the instrument.
tradingSymbol String Trading symbol of the instrument.
instrumentId String Unique identifier or scrip code of the instrument.
exchange String Exchange and segment (e.g., NSE,BSE).
transactionType String Type of transaction:Buy or Sell.
product String Product category of the trade (e.g., DELIVERY, INTRADAY, LONGTERM, MTF).
orderComplexity String Type of order: REGULAR, AMO, etc.
orderType String Type of order (eg., Limit, Market, SL, SLM).
validity String Order validity duration (e.g., DAY, IOC).
tradedPrice Float Weighted average price of matched trades.
filledQuantity Int Quantity of the order that has been filled.
orderTime DateTime Date and time when the order was initially placed on the exchange or by the client.
fillTimestamp DateTime The exact date and time when the order was executed (filled) on the exchange.
orderTag String User-defined tag for internal tracking.

Order Margin

Request Structure

{
"exchange": "NSE",
"instrumentId": "22",
"transactionType": "BUY",
"quantity": 1,
"product": "INTRADAY",
"orderComplexity": "REGULAR",
"orderType": "LIMIT",
"price": 1300.00,
"validity": "DAY",
"slTriggerPrice": 0.00
}

Input parameters

Field Type Description
exchange String Exchange and segment (e.g., NSE,BSE).
instrumentId String Unique identifier or scrip code of the instrument.
transactionType String Type of transaction:Buy or Sell.
quantity Int Total quantity for the order.
product String Product category of the trade (e.g., DELIVERY, INTRADAY, LONGTERM, MTF).
orderComplexity String Type of order: REGULAR, AMO, etc.
orderType String Type of order (eg., Limit, Market, SL, SLM).
price Float Limit price entered by the client.
validity String Order validity duration (e.g., DAY, IOC).
slTriggerPrice Float Trigger price for stop-loss orders.

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "status": "Success",
            "message": "Success",
            "totalCashAvailable": "0.0",
            "preOrderMargin": "0.0",
            "postOrderMargin": "284.13",
            "currentOrderMargin": "284.13",
            "rmsValidationCheck": "Ok",
            "fundShort": "0.00"
        }
    ]
}

Response Parameters

Field Type Description
totalCashAvailable String The total cash amount available in the trading account.
preOrderMargin String Margin utilized before placing the current order.
postOrderMargin String Margin amount required or reserved after placing the current order.
currentOrderMargin String Margin needed specifically for the current order.
rmsValidationCheck String Result or status of the Risk Management System validation (empty if no issues).
fundShort String Indicates any shortfall in funds required for the order.

Basket Margin

Request Structure

[{
    "exchange": "NSE",
    "tradingSymbol": "TCS-EQ",
    "price": 3056.8,
    "quantity": 1,
    "product": "CNC",
    "priceType": "L",
    "triggerPrice": "",
    "transType": "B"
}
]

Input parameters

Field Type Description
exchange String Exchange and segment (e.g., NSE,BSE).
tradingSymbol String Unique identifier or scrip code of the instrument.
transType String Type of transaction:B or S.
quantity Int Total quantity for the order.
product String Product code (MIS or CO or CNC or BO or NRML).
priceType String (L or MKT or SL or SL-M).
price Float Limit price entered by the client.
triggerPrice String Trigger price for stop-loss orders.

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "status": "Ok",
            "message": "Success",
            "totalCashAvailable": "52926",
            "preOrderMargin": "",
            "postOrderMargin": "183.65",
            "currentOrderMargin": "113.70",
            "rmsValidationCheck": "",
            "fundShort": ""
        }
    ]
}

Response Parameters

Field Type Description
totalCashAvailable String The total cash amount available in the trading account.
preOrderMargin String Margin utilized before placing the current order.
postOrderMargin String Margin amount required or reserved after placing the current order.
currentOrderMargin String Margin needed specifically for the current order.
rmsValidationCheck String Result or status of the Risk Management System validation (empty if no issues).
fundShort String Indicates any shortfall in funds required for the order.

Exit Bracket Order

Request Structure

[
    {
        "brokerOrderId": "25051400177494",
        "orderComplexity": "BO"
    }
]

Input parameters

Field Type Description
brokerOrderId String Broker orderId is defined as Unique number it can be generated while placing the order.
orderComplexity String Type of order: REGULAR, AMO, etc.

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "brokerOrderId": "25051400177494",
            "requestTime": "26-05-2025 13:11:34"
        }
    ]
}

Response Parameters

Field Type Description
requestTime String when the API request was initiated by the client, used for logging, tracking, or validating request timing.
brokerOrderId String Order Number is defined as Unique number it can be generated while placing the order.