Orders
Glossary
| param | value | Description | 
|---|---|---|
| variety | reg | Regular Order | 
| amo | After Market Order | |
| co | Cover 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 | |
| MFT | mft | |
| validity | DAY | Regular order | 
| IOC | Immediate or Cancel | 
Order APIs
The order APIs let you place orders of different varities, modify and cancel pending orders, retrieve the daily order and more.
| method | path | description | 
|---|---|---|
| POST | https://api.mstock.trade/openapi/typea/orders/{variety} | Place a new order | 
| PUT | https://api.mstock.trade/openapi/typea/orders/regular/{OrderID} | Modify a pending order | 
| DELETE | https://api.mstock.trade/openapi/typea/orders/regular/{OrderID} | Cancel a pending order | 
| POST | https://api.mstock.trade/openapi/typea/orders/cancelall | Cancel all pending order | 
| GET | https://api.mstock.trade/openapi/typea/orders | View all the existing orders. | 
| GET | https://api.mstock.trade/openapi/typea/trades | This endpoint returns a list of all trades generated upon the execution of orders for that day. | 
| GET | https://api.mstock.trade/openapi/typea/tradebook | This endpoint returns the trade book with all executed trades. | 
| GET | https://api.mstock.trade/openapi/typea/order/details | View the status of individual order | 
Order Placement
This endpoint allows users to place a regular trading order in the specified market. Users must provide relevant order details such as the trading symbol, exchange, transaction type, and other order specifics.
Request Headers -
- X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1.
- Authorization: A token-based authentication header. The format is token api_key:access_token
- Content-Type: For this request, it is set to application/x-www-form-urlencoded, which is used for submiting form data.
curl --location 'https://api.mstock.trade/openapi/typea/orders/{variety}' \
    --header 'X-Mirae-Version: 1' \
    --header 'Authorization: token api_key:access_token \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'tradingsymbol=INFY' \
    --data-urlencode 'exchange=NSE' \
    --data-urlencode 'transaction_type=BUY' \
    --data-urlencode 'order_type=LIMIT' \
    --data-urlencode 'quantity=10' \
    --data-urlencode 'product=MIS' \
    --data-urlencode 'validity=DAY' \
    --data-urlencode 'price=1250'
import axios from 'axios';
const response = await axios.post(
'https://api.mstock.trade/openapi/typea/orders/{variety}',
new URLSearchParams({
    'tradingsymbol': 'INFY',
    'exchange': 'NSE',
    'transaction_type': 'BUY',
    'order_type': 'LIMIT',
    'quantity': '10',
    'product': 'MIS',
    'validity': 'DAY',
    'price': '1250'
}),
{
    headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
    }
}
);
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
    'Content-Type': 'application/x-www-form-urlencoded',
}
data = {
    'tradingsymbol': 'INFY',
    'exchange': 'NSE',
    'transaction_type': 'BUY',
    'order_type': 'LIMIT',
    'quantity': '10',
    'product': 'MIS',
    'validity': 'DAY',
    'price': '1250',
}
response = requests.post('https://api.mstock.trade/openapi/typea/orders/{variety}', headers=headers, data=data)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/orders/{variety}"))
    .POST(BodyPublishers.ofString("tradingsymbol=INFY&exchange=NSE&transaction_type=BUY&order_type=LIMIT&quantity=10&product=MIS&validity=DAY&price=1250"))
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .setHeader("Content-Type", "application/x-www-form-urlencoded")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Request Body - The body of the request must be URL-encoded and include the following parameters:
| Field | Type | Description | 
|---|---|---|
| variety | string | Variety of the order ( regularamoco) | 
| tradingsymbol | string | Refer Trading Symbol in Tables | 
| transaction_type | string | The trading side of transaction : BUYSELL | 
| order_type | string | Order Type : MARKETLIMITSLSL-M | 
| quantity | string | Number of shares for the order | 
| product | string | Product type CNCNRMLMISMTF | 
| validity | string | Validity of Order DAYIOC | 
| price | string | Price at which order is placed | 
| tag | string | Tag to identify order | 
Response Structure -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful order placement, the server returns a JSON object containing the order ID and status
{
    "status": "success",
    "data": {
        "order_id": "1131241001100"
    }
}
- Failure (HTTP Status 401): If the order fails due to invalid parameters, authentication issues, or other errors, the server will return an error message with below json format.
{
    "status": "error",
    "message": "Invalid request. Please try again.",
    "error_type": "TokenException",
    "data": null
}
- Failure (HTTP Status 200): If market is closed or not connected to NSE then api will return an error message with below json format.
{
    "status": "error",
    "message": "System is not connected to NSE Equity market",
    "error_type": "InputException",
    "data": null
}
- Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}
Order Modification
This endpoint allows users to update/modify an existing order by specifying the order ID and providing the updated order details.
Request Headers -
- 
X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1. 
- 
Authorization: A token-based authentication header. The format is token api_key:access_token. 
- 
Content-Type: Indicated the media type of the resource. For this request, it is set to application/x-www-form-urlencoded, which is used for submiting form data. 
curl --location --request PUT 'https://api.mstock.trade/openapi/typea/orders/regular/1000000000016050' \
--header 'X-Mirae-Version: 1' \
--header 'Authorization: token api_key:access_token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'order_type=LIMIT' \  
--data-urlencode 'quantity=5' \
--data-urlencode 'price=2000' \
--data-urlencode 'validity=DAY' \
--data-urlencode 'disclosed_quantity=0' \
--data-urlencode 'trigger_price=0'
import axios from 'axios';
const response = await axios.put(
'https://api.mstock.trade/openapi/typea/orders/regular/1000000000016050',
new URLSearchParams({
    'order_type': 'LIMIT',
    'quantity': '5',
    'price': '2000',
    'validity': 'DAY',
    'disclosed_quantity': '0',
    'trigger_price': '0'
}),
{
    headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
    'Content-Type': 'application/x-www-form-urlencoded'
    }
}
);
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
    'Content-Type': 'application/x-www-form-urlencoded',
}
data = {
    'order_type': 'LIMIT',
    'quantity': '5',
    'price': '2000',
    'validity': 'DAY',
    'disclosed_quantity': '0',
    'trigger_price': '0'
}
response = requests.put(
    'https://api.mstock.trade/openapi/typea/orders/regular/1000000000016050',
    headers=headers,
    data=data
)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/orders/regular/1000000000016050"))
    .PUT(BodyPublishers.ofString("order_type=LIMIT&quantity=5&price=2000&validity=DAY&disclosed_quantity=0&trigger_price=0"))
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .setHeader("Content-Type", "application/x-www-form-urlencoded")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Path Parameter -
| Field | Description | 
|---|---|
| order_id | The unique identifier of the order to be updated or modified | 
Request Body - The body of the request must be URL-encoded and include the following parameters:
| Field | Type | Description | 
|---|---|---|
| variety | string | Variety of the order ( regularamoco) | 
| tradingsymbol | string | Refer Trading Symbol in Tables | 
| order_type | string | Order Type : LIMITMARKETSLSL-M | 
| quantity | string | Number of shares for the order | 
| price | string | Price at which order is placed | 
| validity | string | Validity of Order DAYIOC | 
| exchange | string | Validity of Order NSEBSE | 
| trigger_price | string | Price at which the order is triggered, in case of SLSL-M | 
| disclosed_quantity | string | Number of shares visible (Keep more than 30% of quantity) | 
| transaction_type | string | The trading side of transaction : BUYSELL | 
| product | string | Product type CNCMISMTFNRML | 
| modqty_remng | string | Remaining quantity | 
Request Response -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful order update, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": {
        "order_id": "1131241001100"
    }
}
- Failure (HTTP Status 401): If the order fails due to invalid parameters, authentication issues, or other errors, the server will return an error message with below json format.
{
    "status": "error",
    "message": "Invalid request. Please try again.",
    "error_type": "TokenException",
    "data": null
}
- Failure (HTTP Status 200): If orderid does not exist then server will return below json reponse.
{
    "status": "error",
    "message": "Order Does not Exsist.Need to refresh orderbook / relogin in application ",
    "error_type": "InputException",
    "data": null
}
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}
Order Cancellation
This endpoint allows users to delete an existing order specified by the order ID. Deleting an order will cancel the specified order.
Request Headers -
- 
X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1. 
- 
Authorization: A token-based authentication header. The format is token api_key:access_token. 
curl --location --request DELETE 'https://api.mstock.trade/openapi/typea/orders/regular/1161241001100' \
    --header 'X-Mirae-Version: 1' \
    --header 'Authorization: token api_key:access_token'
import axios from 'axios';
const response = await axios.delete('https://api.mstock.trade/openapi/typea/orders/regular/1161241001100', {
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
}
});
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
}
response = requests.delete('https://api.mstock.trade/openapi/typea/orders/regular/1161241001100', headers=headers)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/orders/regular/1161241001100"))
    .DELETE()
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Path Parameter -
| Field | Description | 
|---|---|
| order_id | The unique identifier of the order to be cancel. | 
Response Structure -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful order deletion, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": {
        "order_id": "1161241001100"
    }
}
- Failure (HTTP Status 200): If orderid does not exist then server will return below json reponse.
{
    "status": "error",
    "message": "Order Does not Exsist.Need to refresh orderbook / relogin in application ",
    "error_type": "InputException",
    "data": null
}
- Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}
Cancel All
This endpoint allows users to cancel all the orders at once.
Request Headers -
- 
X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1. 
- 
Authorization: A token-based authentication header. The format is token api_key:access_token. 
curl --location --request POST 'https://api.mstock.trade/openapi/typea/orders/cancelall' \
--header 'X-Mirae-Version: 1' \
--header 'Authorization: token api_key:access_token' \
import axios from 'axios';
const response = await axios.post(
'https://api.mstock.trade/openapi/typea/orders/cancelall',
'',
{
    headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
    }
}
);
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
}
response = requests.post('https://api.mstock.trade/openapi/typea/orders/cancelall', headers=headers)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/orders/cancelall"))
    .POST(HttpRequest.BodyPublishers.noBody())
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Response Structure -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful order deletion, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": {
        "order_id": "1161241001100"
    }
}
{
    "status": "error",
    "message": "Order Does not Exsist.Need to refresh orderbook / relogin in application ",
    "error_type": "InputException",
    "data": null
}
- Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}
Order Book
This endpoint allows users to retrieve a list of their trading orders. Users can view all their existing orders.
Request Headers -
- 
X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1. 
- 
Authorization: A token-based authentication header. The format is token api_key:access_token. 
curl --location 'https://api.mstock.trade/openapi/typea/orders' \
    --header 'X-Mirae-Version: 1' \
    --header 'Authorization: token api_key:access_token'
import axios from 'axios';
const response = await axios.get('https://api.mstock.trade/openapi/typea/orders', {
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
}
});
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
}
response = requests.get('https://api.mstock.trade/openapi/typea/orders', headers=headers)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/orders"))
    .GET()
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Request Body - This endpoint does not require a request body or additional parameters in the query string for the retrieval of orders.
Response Structure -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful order deletion, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": [
        {
            "placed_by": "XXXXX",
            "order_id": "1151240930103",
            "exchange_order_id": "0",
            "parent_order_id": null,
            "status": "Rejected",
            "status_message": "RMS:1151240930103:NSE,EQUITY,1594,INFY,INTRADAY,,EQ,XXXX,B,10,I,1250.00000,FUND LIMIT INSUFFICIENT,AVAILABLE FUND=0,ADDITIONAL REQUIRED FUND=3125,CALCULATED MARGIN FOR ORDER=3125",
            "status_message_raw": null,
            "order_timestamp": "30-09-2024 15:45:46",
            "exchange_update_timestamp": null,
            "exchange_timestamp": null,
            "variety": null,
            "modified": "false",
            "exchange": "NSE",
            "tradingsymbol": "INFY",
            "instrument_token": 1594,
            "order_type": "LIMIT",
            "transaction_type": "BUY",
            "validity": "DAY",
            "product": "INTRADAY",
            "quantity": 10,
            "disclosed_quantity": 0,
            "price": 1250,
            "trigger_price": 0,
            "average_price": 0,
            "filled_quantity": 0,
            "pending_quantity": 0,
            "cancelled_quantity": 0,
            "market_protection": 0,
            "meta": {
                "demat_consent": "physical"
            },
            "tag": [],
            "guid": ""
        },
        {
            "placed_by": "XXXXX",
            "order_id": "1161240930100",
            "exchange_order_id": "0",
            "parent_order_id": null,
            "status": "Rejected",
            "status_message": "RMS:1161240930100:NSE,EQUITY,22,ACC,INTRADAY,,EQ,XXXXX,B,10,I,2320.39990,FUND LIMIT INSUFFICIENT,AVAILABLE FUND=0,ADDITIONAL REQUIRED FUND=5801,CALCULATED MARGIN FOR ORDER=5801",
            "status_message_raw": null,
            "order_timestamp": "30-09-2024 10:54:37",
            "exchange_update_timestamp": null,
            "exchange_timestamp": null,
            "variety": null,
            "modified": "false",
            "exchange": "NSE",
            "tradingsymbol": "ACC",
            "instrument_token": 22,
            "order_type": "MARKET",
            "transaction_type": "BUY",
            "validity": "DAY",
            "product": "INTRADAY",
            "quantity": 10,
            "disclosed_quantity": 0,
            "price": 0,
            "trigger_price": 0,
            "average_price": 0,
            "filled_quantity": 0,
            "pending_quantity": 0,
            "cancelled_quantity": 0,
            "market_protection": 0,
            "meta": {
                "demat_consent": "physical"
            },
            "tag": [],
            "guid": ""
        }
    ]
}
- Failure (HTTP Status 400): If authentication fails, the server will return an error message
{
    "status": "error",
    "message": "Please provide valid api version.",
    "error_type": "VersionException",
    "data": null
}
Trade Book
This endpoint returns the trade book with all executed trades.
Request Headers -
- X-Mirae-Version : Specifies the version of the API being used. In this case, it is set to 1.
- Authorization: A token-based authentication header. The format is token api_key:access_token
curl --location 'https://api.mstock.trade/openapi/typea/tradebook' \
--header 'X-Mirae-Version: 1' \
--header 'Authorization: token api_key:access_token'
import axios from 'axios';
const response = await axios.get('https://api.mstock.trade/openapi/typea/tradebook', {
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
}
});
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
}
response = requests.get('https://api.mstock.trade/openapi/typea/tradebook', headers=headers)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/tradebook"))
    .GET()
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Request Body - This endpoint does not require a request body or additional parameters in the query string.
Response Structure -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful request, the server returns a JSON object containing the trade book data.
{
  "status": "success",   
  "data": [
    {
      "ALGO_ID": "0",    
      "BUY_SELL": "Sell",
      "CLIENT_ID": "MA68XXXXX",
      "ENCASH_FLG": "N",
      "EXCHANGE": "NSE",
      "EXCH_ORDER_NUMBER": "1100000048872942",
      "EXPIRY_DATE": "0",
      "FULL_SYMBOL": "VODAFONE IDEA LIMITED",
      "GTC_FLG": "N",
      "INSTRUMENT_NAME": "EQUITY",
      "MKT_PROTECT_FLG": "N",
      "MKT_PROTECT_VAL": 0,
      "MKT_TYPE": "NL",
      "OPT_TYPE": "XX",
      "ORDER_DATE_TIME": "10-06-2025 13:08:42",
      "ORDER_NUMBER": "21612506101476",
      "ORDER_TYPE": "MARKET",
      "PAN_NO": "BYYPXXXXXX",
      "PARTICIPANT_TYPE": "B",
      "PRICE": 6.98,
      "PRODUCT": "CNC",
      "QUANTITY": 4,
      "R": 1,
      "REMARKS1": "NA",
      "REMARKS2": "NA",
      "SEC_ID": "14366",
      "SEGMENT": "E",
      "SETTLOR": "90144",
      "SOURCE_FLG": "WEB",
      "STRIKE_PRICE": 0,
      "SYMBOL": "IDEA",
      "TRADE_NUMBER": "206465040",
      "TRADE_VALUE": 27.92
    },
    {
      "ALGO_ID": "0",
      "BUY_SELL": "Buy",
      "CLIENT_ID": "MA68XXXXX",
      "ENCASH_FLG": "N",
      "EXCHANGE": "NSE",
      "EXCH_ORDER_NUMBER": "1100000045177810",
      "EXPIRY_DATE": "0",
      "FULL_SYMBOL": "VODAFONE IDEA LIMITED",
      "GTC_FLG": "N",
      "INSTRUMENT_NAME": "EQUITY",
      "MKT_PROTECT_FLG": "N",
      "MKT_PROTECT_VAL": 0,
      "MKT_TYPE": "NL",
      "OPT_TYPE": "XX",
      "ORDER_DATE_TIME": "10-06-2025 12:43:56",
      "ORDER_NUMBER": "21612506101398",
      "ORDER_TYPE": "MARKET",
      "PAN_NO": "BYYPXXXXXX",
      "PARTICIPANT_TYPE": "B",
      "PRICE": 6.99,
      "PRODUCT": "CNC",
      "QUANTITY": 1,
      "R": 2,
      "REMARKS1": "NA",
      "REMARKS2": "NA",
      "SEC_ID": "14366",
      "SEGMENT": "E",
      "SETTLOR": "90144",
      "SOURCE_FLG": "WEB",
      "STRIKE_PRICE": 0,
      "SYMBOL": "IDEA",
      "TRADE_NUMBER": "205988815",
      "TRADE_VALUE": 6.99
    }
  ]
}
- Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}
Trade History
While an orders is sent as single entry but, it may get executed in arbitrary chunks at the exchange level. This endpoint returns a list of all trades generated upon the execution of orders for that day.
Request Headers -
- 
X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1. 
- 
Authorization: A token-based authentication header. The format is token api_key:access_token. 
- 
Content-Type: Indicated the media type of the resource. For this request, it is set to application/x-www-form-urlencoded, which is used for submiting form data. 
curl --location --request GET 'https://api.mstock.trade/openapi/typea/trades' \
    --header 'X-Mirae-Version: 1' \
    --header 'Authorization: token api_key:access_token' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'fromdate=2024-01-06' \
    --data-urlencode 'todate=2025-01-07'
import axios from 'axios';
const response = await axios.get('https://api.mstock.trade/openapi/typea/trades', {
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
},
data: new URLSearchParams({
    'fromdate': '2024-01-06',
    'todate': '2025-01-07'
})
});
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
    'Content-Type': 'application/x-www-form-urlencoded',
}
data = {
    'fromdate': '2024-01-06',
    'todate': '2025-01-07',
}
response = requests.get('https://api.mstock.trade/openapi/typea/trades', headers=headers, data=data)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/trades"))
    .method("GET", BodyPublishers.ofString("fromdate=2024-01-06&todate=2025-01-07"))
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .setHeader("Content-Type", "application/x-www-form-urlencoded")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Request Body - The body of the request must be URL-encoded and include the following parameters:
| Field | Type | Description | 
|---|---|---|
| fromdate | string | 2024-01-06 | 
| todate | string | 2025-01-07 | 
Request Response -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful order update, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": [
        {
            "trade_id": "68346395",
            "order_id": "1300000040250500",
            "exchange": "NSE",
            "tradingsymbol": "RASHTRIYA CHEMICALS & FER",
            "instrument_token": 0,
            "product": "CNC",
            "average_price": 145.45,
            "quantity": 1,
            "exchange_order_id": "1300000040250500",
            "transaction_type": "SELL",
            "fill_timestamp": "14:48:23",
            "order_timestamp": "2024-02-14 14:48:23",
            "exchange_timestamp": "2024-02-14 14:48:23"
        },
        {
            "trade_id": "68334426",
            "order_id": "1300000040194885",
            "exchange": "NSE",
            "tradingsymbol": "RASHTRIYA CHEMICALS & FER",
            "instrument_token": 0,
            "product": "CNC",
            "average_price": 145.6,
            "quantity": 1,
            "exchange_order_id": "1300000040194885",
            "transaction_type": "BUY",
            "fill_timestamp": "14:47:53",
            "order_timestamp": "2024-02-14 14:47:53",
            "exchange_timestamp": "2024-02-14 14:47:53"
        }
    ]
}
- Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}
Individual Order Details
This endpoint allows users to retrieve the status of individual order using the order id.
Request Headers -
- 
X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1. 
- 
Authorization: A token-based authentication header. The format is token api_key:access_token. 
- 
Content-Type: Indicated the media type of the resource. For this request, it is set to application/x-www-form-urlencoded, which is used for submiting form data. 
curl --location 'https://api.mstock.trade/openapi/typea/order/details' \
    --header 'X-Mirae-Version: 1' \
    --header 'Authorization: token api_key:access_token'\
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'order_no=1157250130101' 
import axios from 'axios';
const response = await axios.get(
'https://api.mstock.trade/openapi/typea/order/details',
new URLSearchParams({
    'order_no': '1157250130101',
    'segment': 'E' #optional
}),
{
    headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
    }
}
);
import requests
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
    'Content-Type': 'application/x-www-form-urlencoded',
}
data = {
    'order_no': '1157250130101',
    'segment': 'E', #optional
}
response = requests.get('https://api.mstock.trade/openapi/typea/order/details', headers=headers, data=data)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/order/details"))
    .GET(BodyPublishers.ofString("order_no=1157250130101&segment=E"))
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .setHeader("Content-Type", "application/x-www-form-urlencoded")
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Request Body - This endpoint does not require a request body or additional parameters in the query string for the retrieval of orders.
| Field | Type | Description | 
|---|---|---|
| order_id | string | The unique identifier of the order for which details need to be retrieved. | 
| segment | string | E (Equity) / D (Derivative) -- Optional | 
Response Structure -
The response of the request will be based on authentication outcome.
- Success (HTTP Status 200): On successful order deletion, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": [
        {
            "average_price": 1950,
            "cancelled_quantity": 10,
            "disclosed_quantity": 0,
            "exchange": "NSE",
            "exchange_order_id": "1000000000016050",
            "exchange_timestamp": null,
            "filled_quantity": 10,
            "instrument_token": 0,
            "order_id": "1121250123103",
            "order_timestamp": "23-01-2025 02:55:55 PM",
            "order_type": "LIMIT",
            "parent_order_id": null,
            "pending_quantity": 10,
            "price": 1950,
            "product": "CNC",
            "quantity": 10,
            "status": "Triggered",
            "status_message": "STOPLOSS TRIGGER",
            "tag": null,
            "tradingsymbol": "ACC",
            "transaction_type": "SELL",
            "trigger_price": 0,
            "validity": "DAY",
            "variety": null,
            "modified": 0
        },
        {
            "average_price": 1950,
            "cancelled_quantity": 10,
            "disclosed_quantity": 0,
            "exchange": "NSE",
            "exchange_order_id": "1000000000016050",
            "exchange_timestamp": null,
            "filled_quantity": 10,
            "instrument_token": 0,
            "order_id": "1121250123103",
            "order_timestamp": "23-01-2025 02:55:55 PM",
            "order_type": "SL",
            "parent_order_id": null,
            "pending_quantity": 10,
            "price": 1950,
            "product": "CNC",
            "quantity": 10,
            "status": "Pending",
            "status_message": "CONFIRMED",
            "tag": null,
            "tradingsymbol": "ACC",
            "transaction_type": "SELL",
            "trigger_price": 1945,
            "validity": "DAY",
            "variety": null,
            "modified": 0
        }
    ]
}
{
    "status": "error",
    "message": "Please provide valid api version.",
    "error_type": "VersionException",
    "data": null
}
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}