Orders¶
The order APIs let you place orders of different varities, modify and cancel pending orders, retrieve the daily order and more.
type | endpoint | |
---|---|---|
POST | /orders/:variety | Place an order of a particular variety |
PUT | /orders/:variety/:order_id | Modify an open or pending order |
DELETE | /orders/:variety/:order_id | Cancel an open or pending order |
GET | /orders | Retrieve the list of all orders (open and executed) for the day |
GET | /orders/:order_id | Retrieve the history of a given order |
GET | /trades | Retrieve the list of all executed trades for the day |
GET | /orders/:order_id/trades | Retrieve the trades generated by an order |
Glossary of constants¶
Here are several of the constant enum values used for placing orders.
param | values | |
---|---|---|
variety |
regular |
Regular order |
amo |
After Market Order | |
co |
Cover Order ? | |
iceberg |
Iceberg Order ? | |
auction |
Auction Order ? | |
order_type |
MARKET |
Market order |
LIMIT |
Limit order | |
SL |
Stoploss order ? | |
SL-M |
Stoploss-market order ? | |
product |
CNC |
Cash & Carry for equity ? |
NRML |
Normal for futures and options ? | |
MIS |
Margin Intraday Squareoff for futures and options ? | |
validity |
DAY |
Regular order |
IOC |
Immediate or Cancel | |
TTL |
Order validity in minutes |
Placing orders¶
Placing an order implies registering it with the OMS via the API. This does not guarantee the order's receipt at the exchange. The fate of an order is dependent on several factors including market hours, availability of funds, risk checks and so on. Under normal circumstances, order placement, receipt by the OMS, transport to the exchange, execution, and the confirmation roundtrip happen instantly.
When an order is successfully placed, the API returns an order_id
. The status of the order is not known at the moment of placing because of the aforementioned reasons.
In case of non-MARKET orders that may be open indefinitely during the course of a trading day, it is not practical to poll the order APIs continuously to know the status. For this, postbacks are ideal as they sent order updates asynchronously as they happen.
Note
Successful placement of an order via the API does not imply its successful execution. To know the true status of a placed order, you should scan the order history or retrieve the particular order's current details using its order_id.
Order varieties¶
You can place orders of different varieties—regular orders, after market orders, cover orders, iceberg orders etc. See the list of varieties here.
curl https://api.kite.trade/orders/regular \
-H "X-Kite-Version: 3" \
-H "Authorization: token api_key:access_token" \
-d "tradingsymbol=ACC" \
-d "exchange=NSE" \
-d "transaction_type=BUY" \
-d "order_type=MARKET" \
-d "quantity=1" \
-d "product=MIS" \
-d "validity=DAY"
{
"status": "success",
"data": {
"order_id": "151220000000000"
}
}
Regular order parameters¶
These parameters are common across different order varieties.
parameter | |
---|---|
tradingsymbol |
Tradingsymbol of the instrument ? |
exchange |
Name of the exchange (NSE, BSE, NFO, CDS, BCD, MCX) |
transaction_type |
BUY or SELL |
order_type |
Order type (MARKET, LIMIT etc.) |
quantity |
Quantity to transact |
product |
Margin product to use for the order (margins are blocked based on this) ? |
price |
The price to execute the order at (for LIMIT orders) |
trigger_price |
The price at which an order should be triggered (SL, SL-M) |
disclosed_quantity |
Quantity to disclose publicly (for equity trades) |
validity |
Order validity (DAY, IOC and TTL) |
validity_ttl |
Order life span in minutes for TTL validity orders |
iceberg_legs |
Total number of legs for iceberg order type (number of legs per Iceberg should be between 2 and 10) |
iceberg_quantity |
Split quantity for each iceberg leg order (quantity/iceberg_legs) |
auction_number string |
A unique identifier for a particular auction |
tag |
An optional tag to apply to an order to identify it (alphanumeric, max 20 chars) |
Modifying orders¶
As long as on order is open or pending in the system, certain attributes of it may be modified. It is important to sent the right value for :variety
in the URL.
curl --request PUT https://api.kite.trade/orders/regular/151220000000000 \
-H "X-Kite-Version: 3" \
-H "Authorization: token api_key:access_token" \
-d "order_type=MARKET" \
-d "quantity=3" \
-d "validity=DAY"
{
"status": "success",
"data": {
"order_id": "151220000000000"
}
}
Regular order parameters¶
parameter | |
---|---|
order_type |
|
quantity |
|
price |
|
trigger_price |
|
disclosed_quantity |
|
validity |
Cover order (CO) parameters¶
parameter | |
---|---|
order_id |
Unique order ID |
price |
The price to execute the order at |
trigger_price |
For LIMIT Cover orders |
Cancelling orders¶
As long as on order is open or pending in the system, it can be cancelled.
curl --request DELETE \
"https://api.kite.trade/orders/regular/151220000000000" \
-H "X-Kite-Version: 3" \
-H "Authorization: token api_key:access_token" \
{
"status": "success",
"data": {
"order_id": "151220000000000"
}
}
Retrieving orders¶
The order history or the order book is transient as it only lives for a day in the system. When you retrieve orders, you get all the orders for the day including open, pending, and executed ones.
curl "https://api.kite.trade/orders" \
-H "X-Kite-Version: 3" \
-H "Authorization: token api_key:access_token"
{
"status": "success",
"data": [
{
"placed_by": "XXXXXX",
"order_id": "100000000000000",
"exchange_order_id": "200000000000000",
"parent_order_id": null,
"status": "CANCELLED",
"status_message": null,
"status_message_raw": null,
"order_timestamp": "2021-05-31 09:18:57",
"exchange_update_timestamp": "2021-05-31 09:18:58",
"exchange_timestamp": "2021-05-31 09:15:38",
"variety": "regular",
"modified": false,
"exchange": "CDS",
"tradingsymbol": "USDINR21JUNFUT",
"instrument_token": 412675,
"order_type": "LIMIT",
"transaction_type": "BUY",
"validity": "DAY",
"product": "NRML",
"quantity": 1,
"disclosed_quantity": 0,
"price": 72,
"trigger_price": 0,
"average_price": 0,
"filled_quantity": 0,
"pending_quantity": 1,
"cancelled_quantity": 1,
"market_protection": 0,
"meta": {},
"tag": null,
"guid": "XXXXX"
},
{
"placed_by": "XXXXXX",
"order_id": "300000000000000",
"exchange_order_id": "400000000000000",
"parent_order_id": null,
"status": "COMPLETE",
"status_message": null,
"status_message_raw": null,
"order_timestamp": "2021-05-31 15:20:28",
"exchange_update_timestamp": "2021-05-31 15:20:28",
"exchange_timestamp": "2021-05-31 15:20:28",
"variety": "regular",
"modified": false,
"exchange": "NSE",
"tradingsymbol": "IOC",
"instrument_token": 415745,
"order_type": "LIMIT",
"transaction_type": "BUY",
"validity": "DAY",
"product": "CNC",
"quantity": 1,
"disclosed_quantity": 0,
"price": 109.4,
"trigger_price": 0,
"average_price": 109.4,
"filled_quantity": 1,
"pending_quantity": 0,
"cancelled_quantity": 0,
"market_protection": 0,
"meta": {},
"tag": null,
"guid": "XXXXXX"
},
{
"placed_by": "XXXXXX",
"order_id": "500000000000000",
"exchange_order_id": "600000000000000",
"parent_order_id": null,
"status": "COMPLETE",
"status_message": null,
"status_message_raw": null,
"order_timestamp": "2021-05-31 15:20:51",
"exchange_update_timestamp": "2021-05-31 15:20:52",
"exchange_timestamp": "2021-05-31 15:20:52",
"variety": "regular",
"modified": false,
"exchange": "NSE",
"tradingsymbol": "IOC",
"instrument_token": 415745,
"order_type": "MARKET",
"transaction_type": "SELL",
"validity": "DAY",
"product": "CNC",
"quantity": 1,
"disclosed_quantity": 0,
"price": 0,
"trigger_price": 0,
"average_price": 109.35,
"filled_quantity": 1,
"pending_quantity": 0,
"cancelled_quantity": 0,
"market_protection": 0,
"meta": {},
"tag": null,
"guid": "XXXX"
},
{
"placed_by": "XXXXXX",
"order_id": "220524001859672",
"exchange_order_id": null,
"parent_order_id": null,
"status": "REJECTED",
"status_message": "Insufficient funds. Required margin is 95417.84 but available margin is 74251.80. Check the orderbook for open orders.",
"status_message_raw": "RMS:Margin Exceeds,Required:95417.84, Available:74251.80 for entity account-XXXXX across exchange across segment across product ",
"order_timestamp": "2022-05-24 12:26:52",
"exchange_update_timestamp": null,
"exchange_timestamp": null,
"variety": "iceberg",
"modified": false,
"exchange": "NSE",
"tradingsymbol": "SBIN",
"instrument_token": 779521,
"order_type": "LIMIT",
"transaction_type": "BUY",
"validity": "TTL",
"validity_ttl": 2,
"product": "CNC",
"quantity": 200,
"disclosed_quantity": 0,
"price": 463,
"trigger_price": 0,
"average_price": 0,
"filled_quantity": 0,
"pending_quantity": 0,
"cancelled_quantity": 0,
"market_protection": 0,
"meta": {
"iceberg": {
"leg": 1,
"legs": 5,
"leg_quantity": 200,
"total_quantity": 1000,
"remaining_quantity": 800
}
},
"tag": "icebergord",
"tags": [
"icebergord"
],
"guid": "XXXXXX"
},
{
"placed_by": "XXXXXX",
"order_id": "700000000000000",
"exchange_order_id": "800000000000000",
"parent_order_id": null,
"status": "COMPLETE",
"status_message": null,
"status_message_raw": null,
"order_timestamp": "2021-05-31 16:00:36",
"exchange_update_timestamp": "2021-05-31 16:00:36",
"exchange_timestamp": "2021-05-31 16:00:36",
"variety": "regular",
"modified": false,
"exchange": "MCX",
"tradingsymbol": "GOLDPETAL21JUNFUT",
"instrument_token": 58424839,
"order_type": "LIMIT",
"transaction_type": "BUY",
"validity": "DAY",
"product": "NRML",
"quantity": 1,
"disclosed_quantity": 0,
"price": 4854,
"trigger_price": 0,
"average_price": 4852,
"filled_quantity": 1,
"pending_quantity": 0,
"cancelled_quantity": 0,
"market_protection": 0,
"meta": {},
"tag": "connect test order1",
"tags": [
"connect test order1"
],
"guid": "XXXXXXX"
},
{
"placed_by": "XXXXXX",
"order_id": "9000000000000000",
"exchange_order_id": "1000000000000000",
"parent_order_id": null,
"status": "COMPLETE",
"status_message": null,
"status_message_raw": null,
"order_timestamp": "2021-05-31 16:08:40",
"exchange_update_timestamp": "2021-05-31 16:08:41",
"exchange_timestamp": "2021-05-31 16:08:41",
"variety": "regular",
"modified": false,
"exchange": "MCX",
"tradingsymbol": "GOLDPETAL21JUNFUT",
"instrument_token": 58424839,
"order_type": "LIMIT",
"transaction_type": "BUY",
"validity": "DAY",
"product": "NRML",
"quantity": 1,
"disclosed_quantity": 0,
"price": 4854,
"trigger_price": 0,
"average_price": 4852,
"filled_quantity": 1,
"pending_quantity": 0,
"cancelled_quantity": 0,
"market_protection": 0,
"meta": {},
"tag": "connect test order2",
"tags": [
"connect test order2",
"XXXXX"
],
"guid": "XXXXXX"
},
{
"placed_by": "XXXXXX",
"order_id": "98000000000000000",
"exchange_order_id": "67000000000000000",
"parent_order_id": null,
"status": "CANCELLED",
"status_message": null,
"status_message_raw": null,
"order_timestamp": "2023-06-12 14:00:58",
"exchange_update_timestamp": "2023-06-12 14:00:58",
"exchange_timestamp": "2023-06-12 14:00:58",
"variety": "auction",
"modified": false,
"exchange": "NSE",
"tradingsymbol": "BHEL",
"instrument_token": 112129,
"order_type": "LIMIT",
"transaction_type": "SELL",
"validity": "DAY",
"validity_ttl": 0,
"product": "CNC",
"quantity": 60,
"disclosed_quantity": 0,
"price": 85,
"trigger_price": 0,
"auction_number": "22",
"average_price": 0,
"filled_quantity": 0,
"pending_quantity": 60,
"cancelled_quantity": 0,
"market_protection": 0,
"meta": {},
"tag": null,
"guid": null
}
]
}
Response attributes¶
attribute | |
---|---|
order_id string |
Unique order ID |
parent_order_id string |
Order ID of the parent order (only applicable in case of multi-legged orders like CO) |
exchange_order_id null, string |
Exchange generated order ID. Orders that don't reach the exchange have null IDs |
modified bool |
Indicate that the order has been modified since placement by the user |
placed_by string |
ID of the user that placed the order. This may different from the user's ID for orders placed outside of Kite, for instance, by dealers at the brokerage using dealer terminals |
variety string |
Order variety (regular, amo, co etc.) |
status string |
Current status of the order. Most common values or COMPLETE, REJECTED, CANCELLED, and OPEN. There may be other values as well. |
tradingsymbol string |
Exchange tradingsymbol of the instrument |
exchange string |
Exchange |
instrument_token string |
The numerical identifier issued by the exchange representing the instrument. Used for subscribing to live market data over WebSocket |
transaction_type string |
BUY or SELL |
order_type string |
Order type (MARKET, LIMIT etc.) |
product string> |
Margin product to use for the order (margins are blocked based on this) ? |
validity string |
Order validity |
price float64 |
Price at which the order was placed (LIMIT orders) |
quantity int64 |
Quantity ordered |
trigger_price float64 |
Trigger price (for SL, SL-M, CO orders) |
average_price float64 |
Average price at which the order was executed (only for COMPLETE orders) |
pending_quantity int64 |
Pending quantity to be filled |
filled_quantity int64 |
Quantity that's been filled |
disclosed_quantity int64 |
Quantity to be disclosed (may be different from actual quantity) to the public exchange orderbook. Only for equities |
order_timestamp string |
Timestamp at which the order was registered by the API |
exchange_timestamp string |
Timestamp at which the order was registered by the exchange. Orders that don't reach the exchange have null timestamps |
exchange_update_timestamp string |
Timestamp at which an order's state changed at the exchange |
status_message null, string |
Textual description of the order's status. Failed orders come with human readable explanation |
status_message_raw null, string |
Raw textual description of the failed order's status, as received from the OMS |
cancelled_quantity int64 |
Quantity that's cancelled |
auction_number string |
A unique identifier for a particular auction |
meta {}, string |
Map of arbitrary fields that the system may attach to an order. |
tag null, string |
An optional tag to apply to an order to identify it (alphanumeric, max 20 chars) |
guid string |
Unusable request id to avoid order duplication |
Order statuses¶
The status
field in the order response shows the current state of the order. The status values are largely self explanatory. The most common statuses are OPEN
, COMPLETE
, CANCELLED
, and REJECTED
.
An order can traverse through several interim and temporary statuses during its lifetime. For example, when an order is first placed or modified, it instantly passes through several stages before reaching its end state. Some of these are highlighted below.
status | |
---|---|
PUT ORDER REQ RECEIVED |
Order request has been received by the backend |
VALIDATION PENDING |
Order pending validation by the RMS (Risk Management System) |
OPEN PENDING |
Order is pending registration at the exchange |
MODIFY VALIDATION PENDING |
Order's modification values are pending validation by the RMS |
MODIFY PENDING |
Order's modification values are pending registration at the exchange |
TRIGGER PENDING |
Order's placed but the fill is pending based on a trigger price. |
CANCEL PENDING |
Order's cancellation request is pending registration at the exchange |
AMO REQ RECEIVED |
Same as PUT ORDER REQ RECEIVED , but for AMOs |
Tagging orders¶
Often, it may be necessary to tag and filter orders based on various criteria, for instance, to filter out all orders that came from a particular application or an api_key
of yours. The tag
field comes in handy here. It let's you send an arbitrary string while placing an order. This can be a unique ID, or something that indicates a particular type or context, for example. When the orderbook is retrieved, this value will be present in the tag
field in the response.
Multi-legged orders (CO)¶
Cover orders are "multi-legged" orders, where, a single order you place (first-leg) may spawn new orders (second-leg) based on the conditions you set on the first-leg order. These orders have special properties, where the first-leg order creates a position. The position is exited when the second-leg order is executed or cancelled.
These second-leg orders will have a parent_order_id
field indicating the order_id
of its parent order, that is, the first-leg order. This field may be required while modifying or cancelling an open second-leg order.
Retrieving an order's history¶
curl "https://api.kite.trade/orders/171229000724687" \
-H "Authorization: token api_key:access_token"
{
"status": "success",
"data": [
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": null,
"exchange_timestamp": null,
"filled_quantity": 0,
"instrument_token": 1,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:06:52",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300,
"product": "CNC",
"quantity": 1,
"status": "PUT ORDER REQ RECEIVED",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
},
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": null,
"exchange_timestamp": null,
"filled_quantity": 0,
"instrument_token": 779521,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:06:52",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300,
"product": "CNC",
"quantity": 1,
"status": "VALIDATION PENDING",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
},
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": null,
"exchange_timestamp": null,
"filled_quantity": 0,
"instrument_token": 779521,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:06:52",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300,
"product": "CNC",
"quantity": 1,
"status": "OPEN PENDING",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
},
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": "1300000001887410",
"exchange_timestamp": "2017-12-29 11:06:52",
"filled_quantity": 0,
"instrument_token": 779521,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:06:52",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300,
"product": "CNC",
"quantity": 1,
"status": "OPEN",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
},
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": "1300000001887410",
"exchange_timestamp": "2017-12-29 11:06:52",
"filled_quantity": 0,
"instrument_token": 779521,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:08:16",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300,
"product": "CNC",
"quantity": 1,
"status": "MODIFY VALIDATION PENDING",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
},
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": "1300000001887410",
"exchange_timestamp": "2017-12-29 11:06:52",
"filled_quantity": 0,
"instrument_token": 779521,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:08:16",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300,
"product": "CNC",
"quantity": 1,
"status": "MODIFY PENDING",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
},
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": "1300000001887410",
"exchange_timestamp": "2017-12-29 11:08:16",
"filled_quantity": 0,
"instrument_token": 779521,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:08:16",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300,
"product": "CNC",
"quantity": 1,
"status": "MODIFIED",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
},
{
"average_price": 0,
"cancelled_quantity": 0,
"disclosed_quantity": 0,
"exchange": "NSE",
"exchange_order_id": "1300000001887410",
"exchange_timestamp": "2017-12-29 11:08:16",
"filled_quantity": 0,
"instrument_token": 779521,
"order_id": "171229000724687",
"order_timestamp": "2017-12-29 11:08:16",
"order_type": "LIMIT",
"parent_order_id": null,
"pending_quantity": 1,
"placed_by": "DA0017",
"price": 300.1,
"product": "CNC",
"quantity": 1,
"status": "OPEN",
"status_message": null,
"tag": null,
"tradingsymbol": "SBIN",
"transaction_type": "BUY",
"trigger_price": 0,
"validity": "DAY",
"variety": "regular",
"modified": false
}
]
}
Every order, right after being placed, goes through multiple stages internally in the OMS. Initial validation, RMS (Risk Management System) checks and so on before it goes to the exchange. In addition, an open order, when modified, again goes through these stages.
Retrieving all trades¶
While an orders is sent as a single entity, it may be executed in arbitrary chunks at the exchange depending on market conditions. For instance, an order for 10 quantity of an instrument can be executed in chunks of 5, 1, 1, 3 or any such combination. Each individual execution that fills an order partially is a trade. An order may have one or more trades.
This API returns a list of all trades generated by all executed orders for the day.
curl "https://api.kite.trade/trades" \
-H "X-Kite-Version: 3" \
-H "Authorization: token api_key:access_token"
{
"status": "success",
"data": [
{
"trade_id": "10000000",
"order_id": "200000000000000",
"exchange": "NSE",
"tradingsymbol": "SBIN",
"instrument_token": 779521,
"product": "CNC",
"average_price": 420.65,
"quantity": 1,
"exchange_order_id": "300000000000000",
"transaction_type": "BUY",
"fill_timestamp": "2021-05-31 09:16:39",
"order_timestamp": "09:16:39",
"exchange_timestamp": "2021-05-31 09:16:39"
},
{
"trade_id": "40000000",
"order_id": "500000000000000",
"exchange": "CDS",
"tradingsymbol": "USDINR21JUNFUT",
"instrument_token": 412675,
"product": "MIS",
"average_price": 72.755,
"quantity": 1,
"exchange_order_id": "600000000000000",
"transaction_type": "BUY",
"fill_timestamp": "2021-05-31 11:18:27",
"order_timestamp": "11:18:27",
"exchange_timestamp": "2021-05-31 11:18:27"
},
{
"trade_id": "70000000",
"order_id": "800000000000000",
"exchange": "MCX",
"tradingsymbol": "GOLDPETAL21JUNFUT",
"instrument_token": 58424839,
"product": "NRML",
"average_price": 4852,
"quantity": 1,
"exchange_order_id": "312115100078593",
"transaction_type": "BUY",
"fill_timestamp": "2021-05-31 16:00:36",
"order_timestamp": "16:00:36",
"exchange_timestamp": "2021-05-31 16:00:36"
},
{
"trade_id": "90000000",
"order_id": "1100000000000000",
"exchange": "MCX",
"tradingsymbol": "GOLDPETAL21JUNFUT",
"instrument_token": 58424839,
"product": "NRML",
"average_price": 4852,
"quantity": 1,
"exchange_order_id": "1200000000000000",
"transaction_type": "BUY",
"fill_timestamp": "2021-05-31 16:08:41",
"order_timestamp": "16:08:41",
"exchange_timestamp": "2021-05-31 16:08:41"
}
]
}
Response attributes¶
attribute | |
---|---|
trade_id string |
Exchange generated trade ID |
order_id string |
Unique order ID |
exchange_order_id null, string |
Exchange generated order ID |
tradingsymbol string |
Exchange tradingsymbol of the instrument |
exchange string |
Exchange |
instrument_token string |
The numerical identifier issued by the exchange representing the instrument. Used for subscribing to live market data over WebSocket |
transaction_type string |
BUY or SELL |
product string |
Margin product to use for the order (margins are blocked based on this) ? |
average_price float64 |
Price at which the quantity was filled |
filled int64 |
Filled quantity |
fill_timestamp string |
Timestamp at which the trade was filled at the exchange |
order_timestamp string |
Timestamp at which the order was registered by the API |
exchange_timestamp string |
Timestamp at which the order was registered by the exchange |
Retrieving an order's trades¶
This API returns the trades spawned and executed by a particular order.
curl "https://api.kite.trade/orders/200000000000000/trades" \
-H "X-Kite-Version: 3" \
-H "Authorization: token api_key:access_token"
{
"status": "success",
"data": [
{
"trade_id": "10000000",
"order_id": "200000000000000",
"exchange": "MCX",
"tradingsymbol": "GOLDPETAL21JUNFUT",
"instrument_token": 58424839,
"product": "NRML",
"average_price": 4852,
"quantity": 1,
"exchange_order_id": "300000000000000",
"transaction_type": "BUY",
"fill_timestamp": "2021-05-31 16:00:36",
"order_timestamp": "16:00:36",
"exchange_timestamp": "2021-05-31 16:00:36"
}
]
}