Download OpenAPI specification:Download
Download Postman Collection:Download
Download NodeJS SDK:Download
Download Python SDK:Download
Cloud Rest API allows the developer to create a custom trading application for Web or Mobile communicating with ODIN Order Management System (OMS). This REST based API allows user to develop the following functionalities for Trading Application / Portal.Cloud Rest API is a set of REST APIs that provide the platform along with required data to build a Trading Platform, the API specifications is used for communicating with ODIN API Gateway. API specifications are based on the REST protocol that covers the functionalities which are need to develop a trading application like Login / Logout, Order Management (Place Order, Modify Order, Cancel order), Reports like Order Book, Trade Book, Position, Holding & Limit, etc. The REST API supports JSON based request and responses along with data compression.
Basic Flow to Implement the APIs:
STEP 1:Make a Login API call using login credential to obtain the access token.
STEP 2: Use access token obtained from Login API in all the subsequent API calls.
STEP 3: Setting obtained access token and content-type is shown below.
Header:
Content-Type: application/json
Authorization: Bearer eyJ1c2VySUQiOiJSVVBFU0giLCJpYXQiOjE1NTIxMjIwOTEsImV4cCI6MTU1MjIwODQ5MX0
All GET and DELETE request parameters go as query parameters, and POST and PUT request parameters as json (application/json) parameters, responses from the API are always JSON. Any non-alphanumeric character should be URL encoded in query string and path parameters.
Successful Request
All responses from the API server are in JSON format with the content-type application/json unless explicitly stated otherwise. A successful 200 OK response always has a JSON response body with a status as success. The data key contains the full response payload.
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"code": "",
"message": "",
"data": "{}"
}
HTTP/1.1 500 Server error
Content-Type: application/json
{
"status": "error",
"code": "",
"message": "",
"errors": "[]"
}
The HTTP Status Codes used by the RESTful API.
HTTP Error Code | Description |
400 | Bad Request - Missing or bad request parameters or values. Error message will indicate which one and why. |
401 | Unauthorized - The access token provided is expired, revoked, malformed, or invalid. Client should refresh relogin and then try again. |
404 | Not Found - Request resource was not found. |
405 | Method Not Allowed - Request method (GET, POST etc.) is not allowed on the requested endpoint |
500 | Internal Server Error - API is not working as expected. The request is probably valid but needs to be requested again later. |
503 | Service Unavailable - The API endpoint is down. |
Kindly use below scrip master API for ODIN Scrip master :
https://odinscripmaster.s3.ap-south-1.amazonaws.com/scripfiles/NSE_EQ.json
replace exchange name, like NSE_FO.json, etc...with the list below.
Another version file is at https://odinscripmaster.s3.ap-south-1.amazonaws.com/scripfiles/v2/NSE_EQ.json
Exchange Segment | Code |
NSE Equity | NSE_EQ |
NSE Derivatives | NSE_FO |
BSE Equity | BSE_EQ |
BSE Derivatives | BSE_FO |
MCX COMMODITY | MCX_FO |
NCDEX COMMODITY | NCDEX_FO |
MSE CURRENCY | MSE_CUR |
NSE CURRENCY | NSE_CUR |
BSE CURRENCY | BSE_CUR |
BSE COMMODITY | BSE_COMM |
NSE COMMODITY | NSE_COMM |
This collection of API's would help in user authentication flow including password/MPIN validation, forget & reset etc.
This API needs to be used for signing-in to the application using login
credentials. A successful sign-in would return an ‘access token’ and a
'broadcast_access_token' in the response.
'access_token' needs to
be included in all subsequent API invocations as part of http header
'Authorization' token.
'broadcast_access_token' would be required
for establishing a connection with the feed endpoint ('broadCastSocket'
received in the response). Kindly refer Price
Feed API for further details.
The response will also
have the details like exchanges allowed, product types allowed and other
key information required for trading.
login_type | password | second_auth_type | second_auth |
PASSWORD | password | REGISTER | Not Required |
TOKEN | register_token | OTP/TOTP/FINGERPRINT | OTP value/TOTP value/Registered UDID |
PASSWORD | password | OTP/TOTP/FINGERPRINT | OTP value/TOTP value/Registered UDID |
MPIN | MPIN Registered | OTP/TOTP/FINGERPRINT | OTP value/TOTP value/Registered UDID |
TP_TOKEN | SSO TOKEN | Not Required | Not Required |
To get second factor authentication details of user, "REGISTER" can be used in second_auth_type field, which validates password field and return register_token that can be used as "TOKEN" login type with second factor after registration.
Content-Type | string Example: application/json |
x-api-key | string Example: {{x-api-key}} |
user_id required | string User Id (UCC) provided to the user. |
login_type | string Default: "PASSWORD" Enum: "PASSWORD" "MPIN" "FINGERPRINT" "TP_TOKEN" Whether user has logged in with password, MPIN, fingerprint or SSO token and respectively need to pass value in "password" field. In case authentication is handled in a separate application, e.g. Super app in which for trading functionality ODIN APIs are used, then TP_TOKEN will be used. In this case the third party token which is shared will be verified using two way authentication. |
password required | string Password/MPIN/UDID/SSO-Token to validate |
second_auth_type | string Enum: "OTP" "TOTP" "FINGERPRINT" "REGISTER" This is the secondary type of authorization selected by the User at the time of signing in apart from Password. During the first login attempt "REGISTER" will be used to register the mode of second factor authentication. Developer can give all three (OTP, TOTP and Fingerprint) or any one of the option. |
second_auth | string User shall enter credentials as per the secondary authentication type selected by them. |
api_key required | string API key provided by 63moons for a particular period. |
source required | string Enum: "WEBAPI" "MOBILEAPI" Application from which the User has logged in. "WEBAPI" for Browser Based Applications and "MOBILEAPI" for Mobile Applications. |
UDID | string Unique Device Id of the device on which the application is being accessed. |
version | string Application version of the android application to be logged in the system. |
iosversion | string Application version of the iOS application to be logged in the system. |
build_version | string Internal build version of the application to be logged in the system. |
object |
{- "user_id": "{{user_id}}",
- "login_type": "PASSWORD",
- "password": "{{password}}",
- "second_auth_type": "OTP",
- "second_auth": "123456",
- "api_key": "{{api_key}}",
- "source": "{{source}}",
- "UDID": "a1b23cd4e5f6g78h",
- "version": "2.0.0",
- "iosversion": "",
- "build_version": "22.11.01",
- "deviceinfo": {
- "UDID": "4ad3f8a8-c90c-4359-9f78-4e8311f77eb2",
- "DeviceModel": "SM-G955U",
- "DeviceSerialNo": "",
- "DeviceManufacturer": "Google Inc.",
- "DevicePlatform": "web",
- "DevicePlatformVer": "Android 8.0.0",
- "Longitude": "",
- "Latitude": "",
- "AppName": "Wave 2.0",
- "AppVersion": "8.2.21",
- "AppVersionCode": "2000000",
- "AppPackageName": "com.wave.dev",
- "FCMRegKey": "172.25.90.82:8100",
- "IP": "",
- "SDKVersion": ""
}
}
{- "status": "success",
- "code": "s-101",
- "message": "User logged in Successfully.",
- "data": {
- "register_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJDdXN0b21lcklkIjoiMTQwNCIsInVzZXJJZCI6IkFQSVRFU1QiLCJncm91cElkIjoiSE8iLCJ1ZGlkIjoiYTFiMjNjZDRlNWY2Zzc4aCIsInNvdXJjZSI6Ik1PQklMRUFQSSIsIm9jVG9rZW4iOiIweDAxNDUzOTg0RDlCMzdEQTAyNzVGRDhCOERGM0ZCMiIsImV4cCI6MTY2MzY4NjAyMSwiaWF0IjoxNjYzNjg1MTIxfQ.kNSl7ZNuNetTg0qhcnk24jMGm193P_M8WQtE4kOPnDQ",
- "ptnType": "TOTP_OPT",
- "mpin_enabled": true,
- "fingerprint_enabled": true,
- "totp_enabled": false
}
}
This call would logout the user from the system and end the active session.
Authorization | string Example: {{access_token}} |
Content-Type | string Example: application/json |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "Successfully Logged out."
}
This call will help validate if the session token passed is active in the system or not.
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "Session verified.",
- "data": "{\"status\":\"false\",\"message\":\"TRUE\",\"dropped\":\"true\"}"
}
This API can be used to retrieve the latest balance with broker for allowed segments.
{- "status": "success",
- "code": "s-101",
- "message": "Success message",
- "data": {
- "equity": {
- "id": 1,
- "name": "Equities",
- "net_available": 24966.45,
- "total_available": 24966.45,
- "total_utilised": 2496,
- "total_withdrawable": 22006,
- "net_payin_payout": 21000,
- "available": {
- "cash": 21000,
- "collateral": 0,
- "credit_for_sale": 0,
- "option_credit_for_sale": 0
}, - "utilised": {
- "limit": 21000,
- "pnl_realised": 0,
- "pnl_unrealised": 0,
- "option_premium": 0
}
}, - "commodity": {
- "id": 1,
- "name": "Commodity",
- "net_available": 24966.45,
- "total_available": 24966.45,
- "total_utilised": 2496,
- "total_withdrawable": 22006,
- "net_payin_payout": 21000,
- "available": {
- "cash": 21000,
- "collateral": 0,
- "credit_for_sale": 0,
- "option_credit_for_sale": 0
}, - "utilised": {
- "limit": 21000,
- "pnl_realised": 0,
- "pnl_unrealised": 0,
- "option_premium": 0
}
}, - "currency": {
- "id": 1,
- "name": "Currency",
- "net_available": 24966.45,
- "total_available": 24966.45,
- "total_utilised": 2496,
- "total_withdrawable": 22006,
- "net_payin_payout": 21000,
- "available": {
- "cash": 21000,
- "collateral": 0,
- "credit_for_sale": 0,
- "option_credit_for_sale": 0
}, - "utilised": {
- "limit": 21000,
- "pnl_realised": 0,
- "pnl_unrealised": 0,
- "option_premium": 0
}
}
}
}
This section provided to information of API calls to do the order management i.e. place fresh order, modify or cancel already submitted valid orders. Retrieve the order and trade book. Using Order API, various type of orders Intraday, Delivery, Bracket Order, Cover order, etc. can be placed. Order type here is used as Product Type in System. Kindly refer to the respective API call for more detail.
Global Constants
Here are some of the constants enum values used for placing order.
Params | Values | Description |
exchange (segment id) | NSE_EQ (1), NSE_FO (2), BSE_EQ (8), BSE_FO (4), MCX_FO (16), NCDEX_FO (64), NSE_CUR (2048), NSE_COMM (32768), BSE_CUR (268435456), BSE_COMM (16384), MSE_CUR (1024), NSE_OTS (536870912) | Exchange segment |
product_type | INTRADAY | It consists of one leg only. Open orders will be squared off automatically before market close. |
DELIVERY | Order position will be carried over to next day under holding. | |
BTST | Buy today sell tomorrow. It will be squared off automatically before next day market close. | |
COVER | It consists of two legs. MAIN_LEG which is market order and SL_LEG which will be square off stop loss order of MAIN_LEG. Open orders will be squared off automatically before market close. | |
BRACKET | It consists of three leg order. MAIN_LEG which is placed as Market or Limit, SL_LEG which is square off stop loss order and PROFIT_LEG which is square off order. Open orders will be squared of automatically before market close. | |
MTF | Margin Trading or Margin Trading Facility (MTF) is a facility provided by brokers to their clients in which the client does not have to pay full amount for carrying overnight positions. | |
order_type | RL | Regular limit order. |
RL-MKT | Regular market order. | |
SL | Stoploss limit order. | |
SL-MKT | Stoploss market order. | |
validity | DAY | Order valid for the same day. |
IOC | Order valid only for immediate execution else cancelled. | |
GTD | Order valid for specified number of days. | |
GTC | Order valid until user cancels the order. | |
EOS | Order valid for the specific session. | |
EOSESS | Order valid till end of session for BSE. | |
EOTODY | Order valid till end of day for BSE. | |
order_status | PENDING | Order is pending or partially executed at exchange. |
EXECUTED | Order is fully executed at exchange. | |
CANCELLED | Order is cancelled at exchange. | |
OMSXMITTED | Order is received by OMS but not submitted to exchange. | |
OMSREJECT | Order is rejected by OMS. | |
ORDERERROR | Order is not valid, rejected by exchange. | |
ADMINREJECT | Order is rejected by OMS Admin. | |
EXXMITTED | Order is submitted to exchange, but confirmation is not received. | |
AMOACCEPTED | AMO order is received by OMS. | |
AMOWITHDRAWN | AMO order is cancelled. |
Lets you place a fresh buy order or sell order.
Content-Type | string Example: application/json |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
required | object Scrip information can be sent in 2 ways. either by sending exchange and scrip token or by sending scrip details i.e. exchange, symbol, series, expiry, strike price & option type. |
transaction_type required | string Whether it is a Buy Order or a Sell Order. |
product_type required | string Product type of the order. Kindly refer global constants for enum values. |
order_type required | string Type of order. Kindly refer global constants for enum values. |
quantity required | integer Total Quantity for which the order has to be placed. |
price | number Default: 0 Price at which the order will be placed in rupees. |
trigger_price | number Price at which order will be triggered, applicable for Stop Loss Limit (SL) or Stop Loss Market order (SL-MKT) type. |
disclosed_quantity | integer Disclosed Quantity is a part of the actual quantity that User wants to display in the Market at a time. |
validity | string Default: "DAY" Order validity,the value will be dependant on exchange segments in which the order is being placed. Kindly refer global constants for enum values. |
validity_days | integer Number of days for which the GTD order needs to be carried forward. |
is_amo | boolean Default: false Whether order is an AMO order or not? (AMO or After Market Orders are parked in the system and submotted to the exchange during the next trading day) |
order_identifier | string <= 10 characters An optional field to apply to an order to track it. |
part_code | string Participant Code of the Custodian. |
algo_id | string Algo id for strategy generated orders |
strategy_id | string Strategy id for strategy generated orders |
vender_code | string Vender code for inhouse application |
{- "scrip_info": {
- "exchange": "NCDEX_FO",
- "scrip_token": 54669,
- "symbol": "",
- "series": "",
- "expiry_date": "",
- "strike_price": "",
- "option_type": ""
}, - "transaction_type": "BUY",
- "product_type": "INTRADAY",
- "order_type": "RL-MKT",
- "quantity": 3,
- "price": 0,
- "trigger_price": 0,
- "disclosed_quantity": 0,
- "validity": "DAY",
- "validity_days": 0,
- "is_amo": false,
- "order_identifier": "",
- "part_code": "",
- "algo_id": "",
- "strategy_id": "",
- "vender_code": ""
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Entry Sent to OMS",
- "data": {
- "orderId": "NWSYF00005>3"
}
}
Lets you modify an existing pending order
exchange required | string Example: NSE_EQ Exchange segment |
order_id required | string Example: NWSYF00005>3 Order id in URI encode form |
Content-Type | string Example: application/json |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
order_type required | string Type of order. Kindly refer global constants for enum values. |
quantity required | integer Number of Quantity that the User wants to Modify. |
traded_quantity required | integer Cumulative traded quantity of the order. Data to be passed in this field is available in order book response. |
price | number Default: 0 Price at which order will be placed in rupees. |
trigger_price | number Price set by the User for Stop Loss or Stop Loss Market order type which shall trigger the order and later be placed at Limit Price. |
disclosed_quantity | integer Disclosed Quantity is a part of the actual quantity that User wants to display in the Market. |
validity | |
validity_days | integer Number of days for which the GTD order shall be carried forward. |
{- "order_type": "RL",
- "quantity": 5,
- "traded_quantity": 0,
- "price": 310,
- "trigger_price": 0,
- "disclosed_quantity": 0,
- "validity": "DAY",
- "validity_days": 0
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Modification Sent to OMS",
- "data": {
- "orderId": "NWSYF00005>3"
}
}
This call can be used to cancel an existing pending order.
exchange required | string Example: NSE_EQ Exchange segment |
order_id required | string Example: NWSYF00005>3 Order id in URI encode form |
Authorization | string Example: {{access_token}} |
Content-Type | string Example: application/json |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "Order Cancellation Sent to OMS",
- "data": {
- "orderId": "NWSYF00005>3"
}
}
Lets you place a cover order. Which means, it allows to place a market order or a limit order along with a stop loss order.
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
Content-Type | string Example: application/json |
required | object Scrip information can be sent in 2 ways. either by sending exchange and scrip token or by sending scrip details i.e. exchange, symbol, series, expiry, strike price & option type. |
transaction_type required | string Order is BUY or SELL. |
object | |
object | |
order_identifier | string <= 10 characters An optional field to apply to an order to track it. |
part_code | string Participant Code of the Custodian. |
algo_id | string Algo id for strategy generated orders |
strategy_id | string Strategy id for strategy generated orders |
vender_code | string Vender code for inhouse application |
{- "scrip_info": {
- "exchange": "NSE_EQ",
- "scrip_token": 15124,
- "symbol": "KOLTEPATIL",
- "series": "EQ",
- "expiry_date": "",
- "strike_price": "",
- "option_type": ""
}, - "transaction_type": "BUY",
- "main_leg": {
- "order_type": "RL-MKT",
- "quantity": 3,
- "price": 0
}, - "stoploss_leg": {
- "legs": [
- {
- "quantity": 0,
- "price": 300,
- "trigger_price": 300
}
]
}, - "order_identifier": "",
- "part_code": "",
- "algo_id": "",
- "strategy_id": "",
- "vender_code": ""
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Entry Sent to OMS",
- "data": {
- "orderId": "NWSYF00006>3"
}
}
Lets you modify an existing cover order which is pending in the order book.
exchange required | string Example: NSE_EQ Exchange segment |
order_id required | string Example: NWSYF00006>3 Order id in URI encode form |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
object | |
object |
{- "main_leg": {
- "order_type": "RL-MKT",
- "quantity": 5,
- "traded_quantity": 0,
- "price": 0
}, - "stoploss_leg": {
- "legs": [
- {
- "quantity": 0,
- "price": 305,
- "trigger_price": 305
}
]
}
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Modification Sent to OMS",
- "data": {
- "orderId": "NWSYF00006>3"
}
}
Lets you cancel an existing cover order which is pending in the order book.
exchange required | string Example: NSE_EQ Exchange segment |
order_id required | string Example: NWSYF00011D9 Order id in URI encode form |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
Content-Type | string Example: application/json |
{- "status": "success",
- "code": "s-101",
- "message": "Order Cancellation Sent to OMS",
- "data": {
- "orderId": "NWSYF00011D9"
}
}
Lets you place a bracket order. which means, you can place a Buy/sell order along with a square off order and a stop loss order.
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
required | object Scrip information can be sent in 2 ways. either by sending exchange and scrip token or by sending scrip details i.e. exchange, symbol, series, expiry, strike price & option type. |
transaction_type required | string Order is BUY or SELL. |
object | |
object | |
object | |
order_identifier | string <= 10 characters An optional field to apply to an order to track it. |
part_code | string Participant Code of the Custodian. |
algo_id | string Algo id for strategy generated orders |
strategy_id | string Strategy id for strategy generated orders |
vender_code | string Vender code for inhouse application |
{- "scrip_info": {
- "exchange": "NSE_EQ",
- "scrip_token": 15124,
- "symbol": "KOLTEPATIL",
- "series": "EQ",
- "expiry_date": "",
- "strike_price": "",
- "option_type": ""
}, - "transaction_type": "BUY",
- "main_leg": {
- "order_type": "RL",
- "quantity": 3,
- "price": "300",
- "trigger_price": 0,
- "traded_quantity": 0
}, - "stoploss_leg": {
- "legs": [
- {
- "quantity": 0,
- "price": 290,
- "trigger_price": 290
}
], - "trail": {
- "ltp_jump_price": 0.5,
- "stoploss_jump_price": 0.5
}
}, - "profit_leg": {
- "legs": [
- {
- "quantity": 0,
- "price": 310
}
]
}, - "order_identifier": "",
- "part_code": "",
- "algo_id": "",
- "strategy_id": "",
- "vender_code": ""
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Entry Sent to OMS",
- "data": {
- "orderId": "NWSYF00014?3"
}
}
Lets you modify an existing bracket order which is pending in the order book.
exchange required | string Example: NSE_EQ Exchange segment |
order_id required | string Example: NWSYF00028?3 Order id in URI encode form |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
object | |
object | |
object | |
object |
{- "main_leg": {
- "order_type": "RL",
- "quantity": 5,
- "price": "302",
- "trigger_price": 0,
- "traded_quantity": 0
}, - "stoploss_leg": {
- "legs": [
- {
- "quantity": 0,
- "price": 290,
- "trigger_price": 290
}
], - "trail": {
- "ltp_jump_price": 0,
- "stoploss_jump_price": 0
}
}, - "profit_leg": {
- "legs": [
- {
- "quantity": 0,
- "price": 310
}
]
}, - "order_identifier": "",
- "fields_modified": {
- "main_leg_price": true,
- "main_leg_qty": true,
- "stoploss_leg_price": true,
- "stoploss_trail_price": true,
- "profit_leg_price": true
}
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Modification Sent to OMS",
- "data": {
- "orderId": "NWSYF00028?3"
}
}
Lets you cancel an existing bracket order which is pending in the order book.
exchange required | string Example: NSE_EQ Exchange segment |
order_id required | string Example: NWSYF00028?3 Order id in URI encode form |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "Order Cancellation Sent to OMS",
- "data": {
- "orderId": "NWSYF00028?3"
}
}
This call displays all the orders placed by the User in a single window.
offset | integer Example: offset=1 Specifies the page number of the collection to be displayed |
limit | integer Example: limit=20 Limits the number of items on a page |
orderStatus | string Example: orderStatus=-1 1 = Pending orders, 2 = Completed orders, -1 = All orders. |
Content-Type | string Example: application/json |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "Orders fetched successfully",
- "data": [
- {
- "order_id": "NXWAO00001N3",
- "exchange": "NSE_EQ",
- "scrip_token": 1594,
- "exchange_order_no": "21595",
- "status": "EXECUTED",
- "error_reason": "",
- "transaction_type": "BUY",
- "product_type": "DELIVERY",
- "order_type": "RL",
- "total_quantity": 1,
- "pending_quantity": 0,
- "traded_quantity": 1,
- "disclosed_quantity": 0,
- "order_price": "1885.00",
- "trigger_price": "0.00",
- "validity": "DAY",
- "validity_days": 10,
- "symbol": "INFY",
- "series": "EQ",
- "instrument": "",
- "expiry_date": "",
- "strike_price": "0.00",
- "option_type": " ",
- "market_lot": 1,
- "order_timestamp": "2022-03-30 09:33:52",
- "exchange_timestamp": "2022-03-30 09:33:52",
- "initiated_by": "WAVE_TABLET",
- "modified_by": "WAVE_TABLET",
- "is_amo_order": false,
- "gateway_order_id": "000220220329NX",
- "order_identifier": "1333069117 0",
- "bracket_details": {
- "parent_order_id": "",
- "leg_indicator": "",
- "stoploss_price": "0.00",
- "stoploss_trigger_price": "0.00",
- "profit_price": "0.00",
- "stoploss_jump_price": "0.00",
- "ltp_jump_price": "0.00",
- "bo_order_id": "",
- "bo_order_status": "",
- "bo_modify_flag": ""
}
}, - {
- "order_id": "NXWAO00002N3",
- "exchange": "NSE_EQ",
- "scrip_token": 1333,
- "exchange_order_no": "21594",
- "status": "EXECUTED",
- "error_reason": "",
- "transaction_type": "BUY",
- "product_type": "DELIVERY",
- "order_type": "RL",
- "total_quantity": 1,
- "pending_quantity": 0,
- "traded_quantity": 1,
- "disclosed_quantity": 0,
- "order_price": "1432.00",
- "trigger_price": "0.00",
- "validity": "DAY",
- "validity_days": 10,
- "symbol": "HDFCBANK",
- "series": "EQ",
- "instrument": "",
- "expiry_date": "",
- "strike_price": "0.00",
- "option_type": " ",
- "market_lot": 1,
- "order_timestamp": "2022-03-30 09:33:52",
- "exchange_timestamp": "2022-03-30 09:33:52",
- "initiated_by": "MOBILE-Ex",
- "modified_by": "MOBILE-Ex",
- "is_amo_order": false,
- "gateway_order_id": "000320220329NX",
- "order_identifier": "1332957355 0",
- "bracket_details": {
- "parent_order_id": "",
- "leg_indicator": "",
- "stoploss_price": "0.00",
- "stoploss_trigger_price": "0.00",
- "profit_price": "0.00",
- "stoploss_jump_price": "0.00",
- "ltp_jump_price": "0.00",
- "bo_order_id": "",
- "bo_order_status": "",
- "bo_modify_flag": ""
}
}
], - "metadata": {
- "total_records": 4,
- "all_records": 2,
- "completed_records": 2,
- "open_records": 0
}
}
This call would fetch the entire state wise data for particular order.
order_id required | string Example: NXVZH0003733 Pass order id to filter records based on order id. It must be URL encoded as it contains special characters. |
Authorization | string Example: {{access_token}} |
Content-Type | string Example: application/json |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "Order history data fetched successfully",
- "data": [
- {
- "order_id": "NXVZH0003733",
- "exchange": "NSE_FO",
- "scrip_token": 53784,
- "exchange_order_no": "0",
- "status": "OMSREJECT",
- "error_reason": "Bracket Order Allowed only in Market Hours , Received from OCSMC",
- "transaction_type": "BUY",
- "product_type": "BRACKET",
- "order_type": "RL",
- "total_quantity": 150,
- "pending_quantity": 150,
- "traded_quantity": 0,
- "disclosed_quantity": 0,
- "order_price": "3496.90",
- "trigger_price": "0.00",
- "validity": "DAY",
- "validity_days": 0,
- "symbol": "FINNIFTY",
- "series": "XX",
- "instrument": "OPTIDX",
- "expiry_date": "2022-05-31",
- "strike_price": "13500.00",
- "option_type": "CE",
- "order_timestamp": "1980-01-01 00:00:00",
- "exchange_timestamp": "1900-01-01 00:00:10",
- "initiated_by": "WAVE_MOBILE",
- "modified_by": "WAVE_MOBILE",
- "is_amo_order": false,
- "gateway_order_id": null,
- "order_identifier": "1321034268",
- "sequence_number": 117,
- "bracket_details": {
- "parent_order_id": "",
- "leg_indicator": "Main Leg",
- "stoploss_price": "3200.00",
- "stoploss_trigger_price": "3427.00",
- "profit_price": "3500.00",
- "stoploss_jump_price": "0.00",
- "ltp_jump_price": "0.00",
- "bo_order_id": "0",
- "bo_order_status": "OMS_REJECT"
}
}, - {
- "order_id": "NXVZH0003733",
- "exchange": "NSE_FO",
- "scrip_token": 53784,
- "exchange_order_no": "0",
- "status": "OMSREJECT",
- "error_reason": "Bracket Order Allowed only in Market Hours , Received from OCSMC",
- "transaction_type": "BUY",
- "product_type": "BRACKET",
- "order_type": "RL",
- "total_quantity": 150,
- "pending_quantity": 150,
- "traded_quantity": 0,
- "disclosed_quantity": 0,
- "order_price": "3496.90",
- "trigger_price": "0.00",
- "validity": "DAY",
- "validity_days": 0,
- "symbol": "FINNIFTY",
- "series": "XX",
- "instrument": "OPTIDX",
- "expiry_date": "2022-05-31",
- "strike_price": "13500.00",
- "option_type": "CE",
- "order_timestamp": "1980-01-01 00:00:00",
- "exchange_timestamp": "1900-01-01 00:00:10",
- "initiated_by": "WAVE_MOBILE",
- "modified_by": "WAVE_MOBILE",
- "is_amo_order": false,
- "gateway_order_id": null,
- "order_identifier": "1321034268",
- "sequence_number": 115,
- "bracket_details": {
- "parent_order_id": "",
- "leg_indicator": "Main Leg",
- "stoploss_price": "3200.00",
- "stoploss_trigger_price": "3427.00",
- "profit_price": "3500.00",
- "stoploss_jump_price": "0.00",
- "ltp_jump_price": "0.00",
- "bo_order_id": "0",
- "bo_order_status": "OMS_REJECT"
}
}
], - "metadata": {
- "total_records": 2
}
}
Lets you place a multileg order/spread order.
Authorization | string Example: {{access_token}} |
Content-Type | string Example: application/json |
x-api-key | string Example: {{x-api-key}} |
type required | string Enum: "SPREAD" "2L" "3L" Type of multileg order. |
order_type | string Type of order. Only RL and RL-MKT is supported. |
validity | |
Array of objects[ items ] Invidiual leg details |
{- "type": "2L",
- "order_type": "RL-MKT",
- "validity": "IOC",
- "prot_perc": "",
- "leg_details": [
- {
- "leg_no": 1,
- "scrip_info": {
- "exchange": "NSE_FO",
- "expiry_date": "31MAR2022",
- "instrument_name": "FUTSTK",
- "option_type": "",
- "scrip_token": 57926,
- "series": "XX",
- "strike_price": "",
- "symbol": "ACC"
}, - "transaction_type": "BUY",
- "quantity": 250,
- "price": "2563.40",
- "others": {
- "market_lot": 250,
- "price_tick": 5,
- "decimal_loc": 100
}
}, - {
- "leg_no": 2,
- "scrip_info": {
- "exchange": "NSE_FO",
- "expiry_date": "28APR2022",
- "instrument_name": "FUTSTK",
- "option_type": "",
- "scrip_token": 35871,
- "series": "XX",
- "strike_price": "",
- "symbol": "ACC"
}, - "transaction_type": "SELL",
- "quantity": 250,
- "price": "2574.00",
- "others": {
- "market_lot": 250,
- "price_tick": 5,
- "decimal_loc": 100
}
}
]
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Entry Sent to OMS.",
- "data": {
- "orderId": "NXWAO00024L3",
- "gateway_order_no": "032800024"
}
}
Lets you cancel an existing multileg order/spread order from the order book.
order_flag required | string Example: cancel |
gateway_order_no required | integer Example: 040900010 |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
Content-Type | string Example: application/json |
type required | string Enum: "SPREAD" "2L" "3L" Type of multileg order. |
order_type | string Type of order. Only RL and RL-MKT is supported. |
validity | |
Array of objects[ items ] Invidiual leg details |
{- "type": "2L",
- "validity": "IOC",
- "prot_perc": "",
- "order_time": 0,
- "leg_details": [
- {
- "leg_no": 1,
- "scrip_info": {
- "exchange": "NSE_FO",
- "scrip_token": 66672,
- "symbol": "TCS",
- "series": "XX",
- "expiry_date": "28APR2022",
- "strike_price": "",
- "option_type": "XX",
- "instrument_name": "FUTSTK"
}, - "transaction_type": "BUY",
- "quantity": 150,
- "price": "3711.30",
- "others": {
- "market_lot": 150,
- "price_tick": 5,
- "decimal_loc": 100
}
}, - {
- "leg_no": 2,
- "transaction_type": "SELL",
- "scrip_info": {
- "exchange": "NSE_FO",
- "scrip_token": 51694,
- "symbol": "TCS",
- "series": "XX",
- "expiry_date": "26MAY2022",
- "strike_price": "",
- "option_type": "XX",
- "instrument_name": "FUTSTK"
}, - "quantity": 150,
- "price": "3719.05",
- "others": {
- "market_lot": 150,
- "price_tick": 5,
- "decimal_loc": 100
}
}
]
}
{- "status": "success",
- "code": "s-101",
- "message": "Order Submitted for cancellation.",
- "data": {
- "orderId": "NXWAD0001094",
- "gateway_order_no": "040900010"
}
}
This call would return back the entire data of trades from completed orders tab.
offset | integer Example: offset=1 Specifies the page number of the collection to be displayed |
limit | integer Example: limit=100 Limits the number of items on a page |
order_id | string Pass order id to filter records based on order id. It must be URL encoded as it contains special characters. |
order_ids | string Example: order_ids=NXWAO00001N3,NXWAO00002N3 Comma separated order ids to get trades for multiple orders at once. |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "User trade book data fetched successfully",
- "data": [
- {
- "order_id": "NXWAO00001N3",
- "exchange": "NSE_EQ",
- "scrip_token": 1594,
- "trade_no": "15602",
- "exchange_order_no": "21595",
- "transaction_type": "BUY",
- "product_type": "DELIVERY",
- "order_type": "RL",
- "trade_quantity": 1,
- "trade_price": "1885.00",
- "symbol": "INFY",
- "series": "EQ",
- "instrument": "",
- "expiry_date": "",
- "strike_price": "0.00",
- "option_type": "",
- "trade_timestamp": "2022-03-30 09:33:52",
- "initiated_by": "WAVE_TABLET",
- "modified_by": "WAVE_TABLET",
- "order_identifier": "1333069117 0"
}, - {
- "order_id": "NXWAO00002N3",
- "exchange": "NSE_EQ",
- "scrip_token": 1333,
- "trade_no": "15601",
- "exchange_order_no": "21594",
- "transaction_type": "BUY",
- "product_type": "DELIVERY",
- "order_type": "RL",
- "trade_quantity": 1,
- "trade_price": "1432.00",
- "symbol": "HDFCBANK",
- "series": "EQ",
- "instrument": "",
- "expiry_date": "",
- "strike_price": "0.00",
- "option_type": "",
- "trade_timestamp": "2022-03-30 09:33:52",
- "initiated_by": "MOBILE-Ex",
- "modified_by": "MOBILE-Ex",
- "order_identifier": "1332957355 0"
}
], - "metadata": {
- "total_records": 2
}
}
This section provided to information of API calls to fetch open position and holding detail of user as uploaded by member in System.
This call would fetch the entire list of positions.
type required | string Example: all all, daily, expiry |
intropStatus | integer Example: intropStatus=1 Flag to indicate interoperability based position. Where, 0 - OFF, 1 - ON |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
{- "status": "success",
- "code": "s-101",
- "message": "Positions data fetched successfully",
- "data": [
- {
- "exchange": "EQ Combined",
- "preferred_exchange": "NSE_EQ",
- "scrip_token": 100015124,
- "preferred_scrip_token": 15124,
- "product_type": "INTRADAY",
- "symbol": "KOLTEPATIL",
- "series": "EQ",
- "market_lot": 1,
- "gen_num": 1,
- "gen_den": 1,
- "price_num": 1,
- "price_den": 1,
- "reference_rate": 0,
- "instrument": "EQUITIES",
- "expiry_date": "",
- "strike_price": "0.00",
- "option_type": "",
- "buy_quantity": 3,
- "avg_buy_price": "271.70",
- "buy_value": "815.10",
- "sell_quantity": 0,
- "avg_sell_price": "0.00",
- "sell_value": "0.00",
- "net_quantity": 3,
- "net_price": "271.70",
- "net_value": "-815.10",
- "cf_buy_value": "815.10",
- "cf_sell_value": "0.00",
- "cf_net_price": "271.70",
- "unsetteled_quantity": "0",
- "multiplier": "1.00",
- "daily_or_expiry": "EXPIRY"
}, - {
- "exchange": "EQ Combined",
- "preferred_exchange": "NSE_EQ",
- "scrip_token": 100015124,
- "preferred_scrip_token": 15124,
- "product_type": "INTRADAY",
- "symbol": "KOLTEPATIL",
- "series": "EQ",
- "market_lot": 1,
- "gen_num": 1,
- "gen_den": 1,
- "price_num": 1,
- "price_den": 1,
- "reference_rate": 0,
- "instrument": "EQUITIES",
- "expiry_date": "",
- "strike_price": "0.00",
- "option_type": "",
- "buy_quantity": 3,
- "avg_buy_price": "271.70",
- "buy_value": "815.10",
- "sell_quantity": 0,
- "avg_sell_price": "0.00",
- "sell_value": "0.00",
- "net_quantity": 3,
- "net_price": "271.70",
- "net_value": "-815.10",
- "cf_buy_value": "0.00",
- "cf_sell_value": "0.00",
- "cf_net_price": "0.00",
- "unsetteled_quantity": "0",
- "multiplier": "1.00",
- "daily_or_expiry": "DAILY"
}
]
}
Lets you convert the product type of an existing position.
Ex: Delivery to Intraday or Intraday to Delivery.
Content-Type | string Example: application/json |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
exchange required | string Exchange segment. |
scrip_token required | integer Exchange token number of the scrip or instrument. |
transaction_type required | string Whether it is a buy order or a sell order. |
quantity required | integer Number of quantity to convert. |
old_product_type required | string Old product type. |
new_product_type required | string New product type. |
bo_order_id | string Bracket order id, Bracket order position conversion is allowed individual bracket order wise only. bo_order_id need to pass here. This number is available in order book. |
{- "exchange": "NSE_EQ",
- "scrip_token": 15124,
- "transaction_type": "BUY",
- "quantity": 250,
- "old_product_type": "INTRADAY",
- "new_product_type": "DELIVERY",
- "bo_order_id": ""
}
{- "status": "success",
- "code": "s-101",
- "message": "Position Conversion Request Sent to OMS",
- "data": {
- "orderId": "NWSYF00005<4"
}
}
Lets you inquire about position convertion status.
orderId | string Example: orderId=NWSYF00005<4 orderId generated from position conversion response. |
Content-Type | string Example: application/json |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
{- "status": "error",
- "code": "s-101",
- "message": "NWSYF00005<4|Free Qty not available for Position Conversion of APITEST"
}
This call would fetch the entire list of holdings from the portfolio page.
Content-Type | string Example: application/json |
Authorization | string Example: {{access_token}} |
x-api-key | string Example: {{x-api-key}} |
{- "status": "Success",
- "code": "s-101",
- "message": "Holdings fetched successfully",
- "data": [
- {
- "isin": "INE040A01034",
- "security_info": [
- {
- "exchange": "NSE_EQ",
- "scrip_token": "1333",
- "symbol": "HDFCBANK"
}, - {
- "exchange": "BSE_EQ",
- "scrip_token": "500180",
- "symbol": "HDFCBANK"
}
], - "total_free": 1,
- "dp_free": 0,
- "pool_free": 0,
- "t1_quantity": 0,
- "average_price": "1432.00",
- "last_price": "1430.90",
- "pnl": "-1.10",
- "current_value": "1430.90",
- "inv_value": "1432.00",
- "product": "DELIVERY",
- "collateral_quantity": 0,
- "collateral_value": "0.00"
}, - {
- "isin": "INE009A01021",
- "security_info": [
- {
- "exchange": "NSE_EQ",
- "scrip_token": "1594",
- "symbol": "INFY"
}, - {
- "exchange": "BSE_EQ",
- "scrip_token": "500209",
- "symbol": "INFY"
}
], - "total_free": 1,
- "dp_free": 0,
- "pool_free": 0,
- "t1_quantity": 0,
- "average_price": "1885.00",
- "last_price": "1876.55",
- "pnl": "-8.45",
- "current_value": "1876.55",
- "inv_value": "1885.00",
- "product": "DELIVERY",
- "collateral_quantity": 0,
- "collateral_value": "0.00"
}
]
}
The Price Feed API allows to get price feed from broadcast server.
Basic Flow to Implement the APIs:
STEP 1: Make a Login API call using login credential to obtain the broadcast socket server endpoint and broadcast access token.
STEP 2: Use broadcast access token in login request to broadcast server.
Click here to know how to connect or download API documentation.
System provides real-time streaming data to receive order & trade responses. This feature is exposed via socket.io. You need to use the standard socket.io library (for more information, kindly refer https://socket.io/).
This streaming feature is only meant for receiving real-time “Order & Trade responses”. All other features (order placement, order modification, portfolio details, etc.) need to be implemented using their respective APIs covered in the previous sections.
To use this feature, a client needs to establish a socket connection with the streaming server and subscribe to the events. Establishing the connectivity requires a couple of fields that are received in the Login API response (refer the User -> Login section to know how to login):
a. “others”:”messageSocket” – Streaming server’s endpoint that is used in the Connect section below.
b. “access_token” – A unique token that is issued to you for the purpose of authentication and is used in the Login section below.
Given below are the detailed steps, with a sample NodeJS code, describing the various events and how to subscribe to these events:
1. Connect: This step comprises of establishing the socket connection with the streaming server.
const io = require("socket.io-client"); // NPM package for socket.io
let ioClient = io.connect(url, {transports:['websocket']}); // url will be received in the Login API response -> “others”:“messageSocket”
2. Login: Here, you need to get authenticated before subscribing to events from the streaming server.
ioClient.on("connect", () => {
let msgLogin = {“jToken”:"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b2tlbiIsImlhdCI6MTU5MzQ5.j80QyIeFOCJzNQk "}; // jToken will be received in Login API response -> “access_token”
ioClient.emit('loginAPI', msgLogin); // the socket will get disconnected if the authentication check is unsuccessful
})
3. Order/ Trade response: You need to subscribe to the MSG:DATA event to receive order & trade responses from the streaming server.
ioClient.on("MSG:DATA", (response) => {
console.log(' Received response : ' + JSON.stringify(response)) ;
})
We have provided the order & trade response structures as well as sample responses after the Disconnect section below. It will help you understand the JSON response structure and the fields that are returned.
4. Disconnect: You need to disconnect the socket to close the connection with the streaming server. Moreover, you also need to subscribe to the “disconnect” event in case the server disconnects the connection.
ioClient.on("disconnect", (err) => {
console.log("Disconnected: Error: "+ err );
})
Note: To differentiate order and trade response, kindly refer "MessageType" in the response. For order response, the value will be "ORD_NRML" and for trade response, it will be "TRD_MSG".
Order response structure:
Parameter (Key) | Data Type | Description |
AMOOrderID | String | Order id for AMO/ EqGTD orders otherwise blank |
Buy_Sell | String | 1 -> Buy 2 -> Sell |
CP_ID | String | |
CliOrderNumber | Integer | Gateway/Client order number [System Generated] |
DQ | Integer | Disclose quantity. Specifies the quantity that has to be disclosed to the market e.g 2500 |
DQRemaining | Integer | Disclose quantity remaining |
Days | String | Number of days |
Exchange | String | Exchange for which order is to be placed |
ExpiryDate | String | Expiry Date. Ddmmmyyyy e.g 24JUN2004. Applicable for Future and option segment only |
GTDOrderStatus | Integer | GTDOrderStatus |
InitiatedBy | String | Initiated from application |
InitiatedByUserId | String | Initiated from user id |
InstrumentName | String | Instrument name provided in security information. Valid values are given bellow Equity = blank Future Index = FUTIDX Interest Rate Future = FUTINT Future Stock = FUTSTK Option Index = OPTIDX Option Stock = OPTSTK MCX/NCDEX Futures = FUTCOM MCXSpot = COM NCDEXSpot = COMDTY NSE Currency Future = FUTCUR, FUTIRD, FUTIRT, OPTCUR NSE Currency Spot = INDEX, UNDCUR, UNDIRD, UNDIRT |
LastModifiedTime | Date Time | Time when order was confirmed |
LegIndicator | String | Blank value |
ManagerID | String | Manager Id |
MarketType | Integer | Normal = 1 Auction = 2 PreOpen = 3 |
MessageSequenceNumber | String | Running Message Sequence Number. For order’s latest status always consider max sequence number. |
MessageType | String | ORD_NRML |
Misc | String | Values will be: SPO-LMT, SPO-MKT, PO-MKT, PO-LMT |
ModifiedBy | String | Modified by application |
ModifiedByUserId | String | Modified by user id |
Option_Type | String | Option Type. Applicable for options only. |
OrderEntryTime | Date Time | Date and Time will be in 24 Hour Format e.g.: 15Jun2019 15.25.15 |
OrderNumber | String | For order entry request must be 0. In case of Modification/Cancellation request, this needs to be filled before sending. |
OrderOriginalQty | Integer | Total Quantity of an Order |
OrderPrice | Integer | Specifies the price in paise at which the order is placed. |
OrderStatus | Integer | Order Status |
OrderType | Integer | Order Type |
OrderValidity | String | Validity |
PartCode | String | Participant ID |
PendingQty | Integer | Pending quantity |
ProCli | String | 2 -> PRO 1 -> Client |
Product | String | ProductType of the order |
Reason | String | Rejection Reason |
ScripCode | String | Scrip Code |
Series | String | Exchange provided Security Series |
SpreadFlag | Integer | Normal order = 0 Spread order = 1 |
SpreadPrice | Integer | Spread Price |
StrikePrice | Integer | Exchange provided Strike price (in multiples of 100). Applicable only for options. |
Symbol | String | Exchange provided Security symbol |
TradedQTY | String | Traded Quantity |
TriggerPrice | Integer | Trigger Price at which Stop loss Order should be active in market. This field is applicable only for a Stop loss order. |
UCC | String | Alias UCC Code |
UniqueCode | String | Alphanumeric value with special characters |
UserID | String | Exchange User ID |
UserRemarks | String | User Remarks |
Parameter (Key) | Data Type | Description |
Buy_Sell | String | 1 -> Buy 2 -> Sell |
CP_ID | String | |
CliOrderNumber | Integer | Gateway/Client order number [System Generated] |
DQ | String | Disclose quantity. Specifies the quantity that has to be disclosed to the market e.g 2500 |
DQRemaining | String | Disclose quantity remaining |
Days | Integer | Number of days |
Exchange | Integer | Exchange |
ExpiryDate | String | Expiry Date. Ddmmmyyyy e.g 24JUN2004. Applicable for Future and option segment only |
InitiatedBy | String | Initiated from application |
InitiatedByUserId | String | Initiated from user id |
InstrumentName | String | Instrument name provided in security information. Valid values are given bellow Equity = blank Future Index = FUTIDX Interest Rate Future = FUTINT Future Stock = FUTSTK Option Index = OPTIDX Option Stock = OPTSTK MCX/NCDEX Futures = FUTCOM MCXSpot = COM NCDEXSpot = COMDTY NSE Currency Future = FUTCUR, FUTIRD, FUTIRT, OPTCUR NSE Currency Spot = INDEX, UNDCUR, UNDIRD, UNDIRT |
LegIndicator | String | Blank value |
ManagerID | Integer | Manager Id |
MessageSequenceNumber | Integer | Running Message Sequence Number |
MessageType | String | TRD_MSG |
Misc | String | Values will be: SPO-LMT, SPO-MKT, PO-MKT, PO-LMT |
ModifiedBy | String | Modified by application |
ModifiedByUserId | String | Modified by user id |
Option_Type | String | Option Type. Applicable for options only. |
OrderLastModifiedTime | Date Time | Time when order was confirmed. Date and Time will be in 24 Hour Format e.g.: 15Jun2019 15.25.15 |
OrderNumber | String | For order entry request must be 0. In case of Modification/Cancellation request, this needs to be filled before sending. |
OrderOriginalQty | Integer | Total Quantity of an Order |
OrderPrice | Integer | Order Price (Fresh order/ Modified order) in paisa |
OrderTime | Date Time | Date and Time will be 24 Hour format like: 15Jun2019 15.25.15 |
OrderType | Integer | Order Type |
PartCode | String | Participant ID |
PendingQty | String | Pending quantity |
ProCli | String | 2 -> PRO 1 -> Client |
Product | String | ProductType of the order |
QuantityTradedToday | Integer | Total no. of quantity traded inclusive of the current trade quantity |
ScripCode | Integer | Scrip Code |
Series | String | Exchange provided Security Series |
SpreadFlag | Integer | Normal order = 0 Spread order = 1 |
SpreadPrice | Integer | Spread Price |
StrikePrice | Integer | Exchange provided Strike price (in multiples of 100). Applicable only for options. |
Symbol | String | Exchange provided Security symbol |
TradeNumber | String | Trade no. |
TradeQty | String | Traded Quantity |
TradeTime | Date Time | Date and Time will be 24 Hour format like: 15Jun2019 15.25.15 |
TradedPrice | String | Trade price in paisa. e.g. 45065 (in multiples of 100) |
UCC | String | Alias UCC Code |
UniqueCode | String | Alphanumeric value with special characters |
UserID | String | Exchange User ID |
UserRemarks | String | User Remarks |