Cloud Rest API (1.2.0)

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.

Salient Features:
  • User Authentication and Profile management
  • Order Management
  • Portfolio information management
  • Scrip Master Details

This step-by- step guide will assist you through the entire flow of API implementation; right from authentication, to handle the request and response structure of the API.

Getting Started

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

Response Structure

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": "{}"
}


Failed Request

A failed response is preceded by the corresponding 40x or 50x HTTP header. The status key in the response contains the value error. The message key contains a textual description of the error and code contains the unique error code. The errors key contains fields breakdown of validation errors for POST & Put requests.
HTTP/1.1 500 Server error 
Content-Type: application/json
{
"status": "error",
"code": "",
"message": "",
"errors": "[]"
}

Data types
Values in JSON responses are of types string, integer, number, or bool.
Timestamp (datetime) strings in the responses are represented in the default date format yyyy-mm-dd HH:mm:ss e.g., 2016-01-25 13:33:42.

Exceptions and Errors

The HTTP Status Codes used by the RESTful API.

HTTP Error CodeDescription
400Bad Request - Missing or bad request parameters or values. Error message will indicate which one and why.
401Unauthorized - The access token provided is expired, revoked, malformed, or invalid. Client should refresh relogin and then try again.
404Not 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.
503Service Unavailable - The API endpoint is down.

Scrip Master Details

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 SegmentCode
NSE EquityNSE_EQ
NSE DerivativesNSE_FO
BSE EquityBSE_EQ
BSE DerivativesBSE_FO
MCX COMMODITYMCX_FO
NCDEX COMMODITYNCDEX_FO
MSE CURRENCYMSE_CUR
NSE CURRENCYNSE_CUR
BSE CURRENCYBSE_CUR
BSE COMMODITYBSE_COMM
NSE COMMODITYNSE_COMM

User

This collection of API's would help in user authentication flow including password/MPIN validation, forget & reset etc.

Send OTP (Password-TOTP)

This call can be used in case if the client has forgotten the password or he wants to register TOTP and OTP is to be sent on the registered mobile number.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "api_key": "{{api_key}}",
  • "source": "{{source}}"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "OTP sent to reset Password."
}

Login

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_typepasswordsecond_auth_typesecond_auth
PASSWORDpasswordREGISTERNot Required
TOKENregister_tokenOTP/TOTP/FINGERPRINTOTP value/TOTP value/Registered UDID
PASSWORDpasswordOTP/TOTP/FINGERPRINTOTP value/TOTP value/Registered UDID
MPINMPIN RegisteredOTP/TOTP/FINGERPRINTOTP value/TOTP value/Registered UDID
TP_TOKENSSO TOKENNot RequiredNot 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.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "login_type": "PASSWORD",
  • "password": "{{password}}",
  • "second_auth_type": "REGISTER",
  • "second_auth": "",
  • "api_key": "{{api_key}}",
  • "source": "{{source}}",
  • "UDID": "a1b23cd4e5f6g78h",
  • "version": "2.0.0",
  • "iosversion": "",
  • "build_version": "22.11.01",
  • "deviceinfo": {
    }
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "User logged in Successfully.",
  • "data": {
    }
}

Logout

This call would logout the user from the system and end the active session.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Successfully Logged out."
}

Validate Session

This call will help validate if the session token passed is active in the system or not.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Session verified.",
  • "data": "{\"status\":\"false\",\"message\":\"TRUE\",\"dropped\":\"true\"}"
}

Forgot User ID

This API can be used to retrieve the User ID in case the user forgets it. The user will have to provide his PAN to retrive the ID.

query Parameters
pan
string
Example: pan=ABCDE1234F
mobile_no
string
Example: mobile_no=9876543210
header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
api_key
string
Example: {{api_key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "UserId fetched successfully.",
  • "data": [
    ]
}

Register MPIN

This call allows User to set MPIN which shall be used to login during the day instead of entering User ID and Password again. This will allow user to quickly login to the system.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
mpin
required
integer [ 4 .. 6 ] characters

Here the 4 or 6 digit numeric pin which is to be set as MPIN is passed to the system.

mobile_udid
string <= 50 characters

Mobile UDID is used when User wants to login by using the MPIN.

Responses

Request samples

Content type
application/json
{
  • "mpin": "1234",
  • "mobile_udid": "a1b23cd4e5f6g78h"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "MPIN/Fingerprint registered successfully."
}

Change MPIN

This call would allow the user to change the MPIN, this API will be used to change the MPIN in case of expiry or if the user chooses to change the MPIN. This call will not allow user to change the MPIN if he has forgotten the existing MPIN.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

old_mpin
required
integer [ 4 .. 6 ] characters

Existing MPIN of the user.

new_mpin
required
integer [ 4 .. 6 ] characters

New MPIN set by the user.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "source": "{{source}}",
  • "api_key": "{{api_key}}",
  • "old_mpin": "{{mpin}}",
  • "new_mpin": "2222"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "MPIN changed successfully."
}

Change Password

This call would allow the user to change the Password, this API will be used to change the Password in case of expiry or if the user chooses to change the Password. This call will not allow user to change the Password if he has forgotten the existing Password.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

old_password
required
string

Existing password of the user.

new_password
required
string

New password set by the user.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "api_key": "{{api_key}}",
  • "new_password": "a00000000000",
  • "old_password": "{{password}}",
  • "source": "{{source}}"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Password changed successfully."
}

GetUserDetails

This call would return back the mobile and eMail details of the client, which will be used to send an OTP.

path Parameters
user_id
required
string
header Parameters
api_key
string
Example: {{api_key}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": {
    }
}

Verify OTP

This call would be used to validate the OTP entered by the user in the front end against the one sent to the user in Send OTP call.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

otp
required
string

Verification of OTP sent to user.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "api_key": "{{api_key}}",
  • "source": "{{source}}",
  • "otp": "123456"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "OTP verified successfully.",
  • "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRlbmFudElkIjoiMTQwNCIsInVzZXJJZCI6IkFQSVRFU1QifSwiZXhwIjoxNjQ2MzkyMzA2LCJpYXQiOjE2NDYzOTIwMDZ9.K4SQ3nj7hBCXhRugKbgIg-JhbWQe7uSE0xRwuohG7_Y"
}

Set Password

On successful validation of OTP, this call would allow the user to set a new password for login.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

new_password
required
string

New password set by the user.

otp
required
string

Temporary token generated in OTP verify call.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "api_key": "{{api_key}}",
  • "source": "{{source}}",
  • "otp": "{{forgot_password_token}}",
  • "new_password": "a11111111111"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Password changed successfully."
}

Forgot MPIN Send OTP

This call allows the user to send an OTP on his registered mobile number in case he forgets the MPIN.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "api_key": "{{api_key}}",
  • "source": "{{source}}"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "OTP sent to reset MPIN & Fingerprint."
}

Set MPIN

This call allows the user to set a new MPIN, the pre-requisite in this case would be to call the "Verify OTP" call to ensure that the OTP is validated correctly.

header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

mpin
required
string

New MPIN set by the user.

mobile_udid
required
string

New mobile UDID

otp
required
string

OTP sent to the user in order to set MPIN.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "api_key": "{{api_key}}",
  • "source": "{{source}}",
  • "otp": "{{forgot_password_token}}",
  • "mpin": "1111",
  • "mobile_udid": "a1b23cd4e5f6g78h"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "MPIN & Fingerprint reset successfully."
}

Set Fingerprint

This call allows User to set Fingerprint to login where the prerequisite shall be to verify OTP to ensure that the OTP has been validated correctly.

path Parameters
tenantid
required
string
header Parameters
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
userId
required
string

User Id (UCC) provided to the user.

type
required
string

Flag to set Fingerprint

udid
required
string

New mobile UDID

otp
required
string

OTP sent to the User in order to set Fingerprint.

api_key
required
string

API key provided by 63moons.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "userId": "{{user_id}}",
  • "api_key": "{{api_key}}",
  • "source": "{{source}}",
  • "otp": "{{forgot_password_token}}",
  • "type": "fng",
  • "udid": "5c340bd7-5bd3-4aaf-9d03-b26626b16858"
}

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

User Profile

This call will fetch the basic details like user_name, email, mobile_no, pan, address including bank and DP details of the client.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success Message",
  • "data": {
    }
}

Register TOTP

This call would allow the user to fetch the details required to register for TOTP as second factor authentication.

header Parameters
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
user_id
required
string

User Id (UCC) provided to the user.

otp
required
string

OTP sent to the User in order to Register TOTP.

api_key
required
string

API key provided by 63moons.

app_name
string
Default: "(Registered in system)"

App name to be set in the Authenticator apps.

source
required
string
Enum: "WEBAPI" "MOBILEAPI"

Application from which the User has logged in. WEBAPI for Browser Based Applications and MOBILEAPI for Mobile Applications.

Responses

Request samples

Content type
application/json
{
  • "user_id": "{{user_id}}",
  • "source": "{{source}}",
  • "app_name": "Wave2.0",
  • "api_key": "{{api_key}}",
  • "otp": "{{forgot_password_token}}"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "QR code generated.",
  • "data": {
    }
}

Delete TOTP

This call would allow the user to disable TOTP as second factor authentication.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "TOTP disabled successfully.",
  • "data": {
    }
}

Verify TOTP

This call would be used to enable TOTP after login by verifying the TOTP entered by the user as second factor authentication.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
second_auth
string

TOTP value from authenticator app

Responses

Request samples

Content type
application/json
{
  • "second_auth": "684771"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "TOTP verified successfully.",
  • "data": {
    }
}

Order

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_typeRLRegular 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.

Place Order - Any Scrip

Lets you place a fresh buy order or sell order.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: 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

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

Responses

Request samples

Content type
application/json
{
  • "scrip_info": {
    },
  • "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": ""
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Entry Sent to OMS",
  • "data": {
    }
}

Modify Order

Lets you modify an existing pending order

path Parameters
exchange
required
string
Example: NSE_EQ

Exchange segment

order_id
required
string
Example: NWSYF00005>3

Order id in URI encode form

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
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
string
Default: "DAY"

Order validity. Kindly refer global constants for enum values.

validity_days
integer

Number of days for which the GTD order shall be carried forward.

Responses

Request samples

Content type
application/json
{
  • "order_type": "RL",
  • "quantity": 5,
  • "traded_quantity": 0,
  • "price": 310,
  • "trigger_price": 0,
  • "disclosed_quantity": 0,
  • "validity": "DAY",
  • "validity_days": 0
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Modification Sent to OMS",
  • "data": {
    }
}

Cancel Order

This call can be used to cancel an existing pending order.

path Parameters
exchange
required
string
Example: NSE_EQ

Exchange segment

order_id
required
string
Example: NWSYF00005>3

Order id in URI encode form

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Cancellation Sent to OMS",
  • "data": {
    }
}

Place Cover Order

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.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Content-Type
string
Example: application/json
Request Body schema: 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

Responses

Request samples

Content type
application/json
{
  • "scrip_info": {
    },
  • "transaction_type": "BUY",
  • "main_leg": {
    },
  • "stoploss_leg": {
    },
  • "order_identifier": "",
  • "part_code": "",
  • "algo_id": "",
  • "strategy_id": "",
  • "vender_code": ""
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Entry Sent to OMS",
  • "data": {
    }
}

Modify Cover Order

Lets you modify an existing cover order which is pending in the order book.

path Parameters
exchange
required
string
Example: NSE_EQ

Exchange segment

order_id
required
string
Example: NWSYF00006>3

Order id in URI encode form

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
object
object

Responses

Request samples

Content type
application/json
{
  • "main_leg": {
    },
  • "stoploss_leg": {
    }
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Modification Sent to OMS",
  • "data": {
    }
}

Cancel Cover Order

Lets you cancel an existing cover order which is pending in the order book.

path Parameters
exchange
required
string
Example: NSE_EQ

Exchange segment

order_id
required
string
Example: NWSYF00011D9

Order id in URI encode form

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Cancellation Sent to OMS",
  • "data": {
    }
}

Place Bracket Order

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.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: 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
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

Responses

Request samples

Content type
application/json
{
  • "scrip_info": {
    },
  • "transaction_type": "BUY",
  • "main_leg": {
    },
  • "stoploss_leg": {
    },
  • "profit_leg": {
    },
  • "order_identifier": "",
  • "part_code": "",
  • "algo_id": "",
  • "strategy_id": "",
  • "vender_code": ""
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Entry Sent to OMS",
  • "data": {
    }
}

Modify Bracket Order

Lets you modify an existing bracket order which is pending in the order book.

path Parameters
exchange
required
string
Example: NSE_EQ

Exchange segment

order_id
required
string
Example: NWSYF00028?3

Order id in URI encode form

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
object
object
object
object

Responses

Request samples

Content type
application/json
{
  • "main_leg": {
    },
  • "stoploss_leg": {
    },
  • "profit_leg": {
    },
  • "order_identifier": "",
  • "fields_modified": {
    }
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Modification Sent to OMS",
  • "data": {
    }
}

Exit Bracket Order

Lets you cancel an existing bracket order which is pending in the order book.

path Parameters
exchange
required
string
Example: NSE_EQ

Exchange segment

order_id
required
string
Example: NWSYF00028?3

Order id in URI encode form

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Cancellation Sent to OMS",
  • "data": {
    }
}

Place Multileg/Spread Order

Lets you place a multileg order/spread order.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: 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
string
Default: "IOC"

Order validity. Kindly refer global constants for enum values.

Array of objects

Invidiual leg details

Responses

Request samples

Content type
application/json
{
  • "type": "2L",
  • "order_type": "RL-MKT",
  • "validity": "IOC",
  • "prot_perc": "",
  • "leg_details": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Entry Sent to OMS.",
  • "data": {
    }
}

Cancel Multileg/Spread Order

Lets you cancel an existing multileg order/spread order from the order book.

path Parameters
order_flag
required
string
Example: cancel
gateway_order_no
required
integer
Example: 040900010
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Content-Type
string
Example: application/json
Request Body schema: 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
string
Default: "IOC"

Order validity. Kindly refer global constants for enum values.

Array of objects

Invidiual leg details

Responses

Request samples

Content type
application/json
{
  • "type": "2L",
  • "validity": "IOC",
  • "prot_perc": "",
  • "order_time": 0,
  • "leg_details": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order Submitted for cancellation.",
  • "data": {
    }
}

Place/Modify EQSIP Order

Lets you place an EQSIP order. Once the order is placed it will also allow you to modify the same order.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
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.

object

Frequency details for SIP.

company_name
string

Name of the Company.

ltp
string

Last Traded Price of scrip.

cap_price
string

Cap Price.

invested_by
string
Enum: "QUANTITY" "VALUE"

Type of Investment.

quantity_or_value
integer

Quantity or value to transact.

transaction_type
string

Whether it is a Buy Order or a Sell Order.

status
string
Enum: "INITIAL" "PENDING" "RUNNING" "COMPLETED" "CANCELLED" "STOPPED"

Status of SIP.

basket_name
string

Name of the Basket.

sip_id
string

SIP Id incase of modification.

Responses

Request samples

Content type
application/json
{
  • "scrip_info": {
    },
  • "frequency_details": {
    },
  • "company_name": "",
  • "ltp": "516.85",
  • "cap_price": "516",
  • "invested_by": "QUANTITY",
  • "quantity_or_value": "1",
  • "transaction_type": "BUY",
  • "status": "PENDING",
  • "basket_name": "",
  • "sip_id": ""
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Orders submitted successfully"
}

Pause/Resume/Cancel EQ SIP Order

This is Pause EQ SIP Order API call

path Parameters
sip_id
required
string
Example: SI2112210002

SIP Id

status
required
string
Example: RUNNING

Current status of SIP

symbol
required
string
Example: ZEEL

Scrip Symbol

transaction_type
required
string
Example: BUY

Transaction type

investment_type
required
string
Example: QUANTITY

Investment type

qtyOrVal
required
integer
Example: 1

Quantity or value to transact

query Parameters
product_source
string
Example: product_source=WAVEAPI
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/JSON
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Orders modified sucessfully"
}

Cancel All Orders

This API call is to cancel all orders from Open orders tab

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
orders
Array of strings[ items ]

Order Ids with Exchange segment and Order Id.

flag
boolean

Flag to cancel all or orders specified in parameters.

Responses

Request samples

Content type
application/json
{
  • "orders": [
    ],
  • "flag": false
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order cancelled.",
  • "data": [
    ]
}

Square-off All Orders

This API call is to square off all open positions.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
type
string
Enum: "Daily" "Expiry"

Type of Order.

exchange
string

Exchange segment

token
string

Scrip token of the scrip available in the exchange scrip master file

product_type
string

Product type

interop
integer

Interop, 0 = Exchange wise, 1 = Combined. It will be ignored if exchange is passed.

Responses

Request samples

Content type
application/json
{
  • "type": "expiry",
  • "exchange": "",
  • "token": "",
  • "product_type": "",
  • "interop": 1
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Square off successfully",
  • "data": [
    ]
}

Bulk Order

This API call is to place bulk orders.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
Array
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 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
string
Default: "DAY"

Order validity. Kindly refer global constants for enum values.

is_amo
boolean
Default: false

Whether order is an AMO order or not?

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

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "success",
  • "message": "success",
  • "data": [
    ],
  • "metadata": ""
}

OrderBook

This call displays all the orders placed by the User in a single window.

query Parameters
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.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Orders fetched successfully",
  • "data": [
    ],
  • "metadata": {
    }
}

Order History

This call would fetch the entire state wise data for particular order.

path Parameters
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.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Order history data fetched successfully",
  • "data": [
    ],
  • "metadata": {
    }
}

Multileg Order Book

This API call represents Multileg order book records

query Parameters
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

orderType
string
Example: orderType=multileg

Only Multileg and Spread values shall be allowed.

orderStatus
string
Example: orderStatus=-1

1 = Pending orders, 2 = Completed orders, -1 = All ordres

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Orders fetched successfully",
  • "data": [
    ],
  • "metadata": {
    }
}

GTD Order Book

This API call will fetch GTD order Book records.

query Parameters
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 ordres

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Orders fetched successfully",
  • "data": [
    ]
}

GTD Order History

This API call is to fetch GTD Order history details

query Parameters
offset
integer
Example: offset=1

Specifies the page number of the collection to be displayed

limit
integer
Example: limit=1000

Limits the number of items on a page

gtdOrderId
string
Example: gtdOrderId=20220409NXWAD0000000

Pass gtd order id to filter records based on order id. It must be URL encoded as it contains special characters.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Orders fetched successfully",
  • "data": [ ]
}

Equity SIP Order Book

This API call will fetch Equity SIP order book records.

query Parameters
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 ordres

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Orders fetched successfully",
  • "data": [
    ],
  • "metadata": { }
}

Trade Book

This call would return back the entire data of trades from completed orders tab.

query Parameters
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.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "User trade book data fetched successfully",
  • "data": [
    ],
  • "metadata": {
    }
}

GetOrderMarginInfo

This API call is to fetch the required Margin information for a particular order.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
NoOfLegs
integer

Number of legs.

Mode
string
Enum: "N" "M"

Mode for order margin. N for new order and M for order modification.

FETraceId
string

Echo-back request id.

MessageType
string

MessageType should be FUND_UTIL_CALC_REQ for span margin info.

Array of objects

Order margin request

Responses

Request samples

Content type
application/json
{
  • "NoOfLegs": 1,
  • "Mode": "N",
  • "FETraceId": "DEMO31_Sa212022190445",
  • "LegDetails": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "success",
  • "data": {
    }
}

Brokerage and Charges Page

As per SEBI circular, displaying of Brokerage and charges. This API call would return the Brokerage and Charges applicable for an order before it is sent to the exchange. These will be approximate values.

Note :- Sample request given below. It needs to be Base64 encrypted before sending. Please ignore space at the end of every parameter, it is just for line break to happen.

http://DOMAIN/newnetnet/BrokerageDetails.aspx?Product=WAVE2&Theme=L&UserId=APITEST &GroupId=HO&MktSegmentId=2&Series=XX &ProductType=CARRYFORWARD&TransactionType=1 &Quantity=250&Price=26.50&Brokerage=20.50 &LegIndicator=1&SessionId=0x011017F506627E18C2FC2952D6937C &Instrument=FUTSTK&PriceLocator=1

Description of fields:

Price = Order price in rupees on which charges are going to calculate,

TransactionType = 1 - Buy, 2 - Sell,

Brokerage = Brokerage value will come in response of "GetOrderMarginInfo" API call,

LegIndicator = 1 - Normal, 4 � Spread, 5 - 2Leg, 6 - 3Leg,

PriceLocator = It should be 1 except for commodity segments. It should be calculated for MCX, BSE COMM, NSE COMM as:
((PriceNum / PriceDen) * (nAVMBuyMargin / nAVMSellMargin))

And for NCDEX as: (PriceNum / PriceDen)

These values are available with ScripInfo API calls.

query Parameters
type
integer
Example: type=1
enct
string
Example: enct=UHJvZHVjdD1BRVJPJlRoZW1lPUwmVXNlcklkPU1HTVQwMSZHcm91cElkPUhPJk1hcmtldFNlZ21lbnRJZD04JlNlcmllcz1BJlByb2R1Y3RUeXBlPURFTElWRVJZJlRyYW5zYWN0aW9uVHlwZT0xJlF1YW50aXR5PTEmUHJpY2U9MjUwNC42NSZCcm9rZXJhZ2U9NTAmTGVnSW5kaWNhdG9yPTEmU2Vzc2lvbklkPTB4MDE2QjBBMTU5NzVEMTZGRURDMUJCQ0VEQzAxNDYzJkluc3RydW1lbnQ9RVFVSVRJRVM=

Responses

Dynamic product types

This API call will fetch dynamic product types as set by the Member.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Portfolio

This section provided to information of API calls to fetch open position and holding detail of user as uploaded by member in System.

Positions

This call would fetch the entire list of positions.

path Parameters
type
required
string
Example: all

all, daily, expiry

query Parameters
intropStatus
integer
Example: intropStatus=1

Flag to indicate interoperability based position. Where, 0 - OFF, 1 - ON

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Positions data fetched successfully",
  • "data": [
    ]
}

Position Conversion

Lets you convert the product type of an existing position.

Ex: Delivery to Intraday or Intraday to Delivery.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "exchange": "NSE_EQ",
  • "scrip_token": 15124,
  • "transaction_type": "BUY",
  • "quantity": 250,
  • "old_product_type": "INTRADAY",
  • "new_product_type": "DELIVERY",
  • "bo_order_id": ""
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Position Conversion Request Sent to OMS",
  • "data": {
    }
}

Position Conversion Inquiry

Lets you inquire about position convertion status.

query Parameters
orderId
string
Example: orderId=NWSYF00005<4

orderId generated from position conversion response.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "error",
  • "code": "s-101",
  • "message": "NWSYF00005<4|Free Qty not available for Position Conversion of APITEST"
}

Holdings

This call would fetch the entire list of holdings from the portfolio page.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "code": "s-101",
  • "message": "Holdings fetched successfully",
  • "data": [
    ]
}

Stock View

This call will fetch the entire list of holdings from the portfolio page, along with additional data such as pledged, free quantity etc.

path Parameters
ExchangeAllowed
required
number
Example: -1

Exchange Segment to be sent as -1 to fetch all holdings

ISIN
required
string
Example: %20

If a valid ISIN is passed then the holding information for only that ISIN will be retrived. Pass %20 for all holdings information.

Mode
required
string
Example: HOLDINGS, ALL

All returns complete information including DP, POOL, Pledge qty etc. Holdings returns only the basic holding information.

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
api_key
string
Example: {{api_key}}

Responses

Response samples

Content type
application/json
Example
{
  • "status": true,
  • "result": [
    ]
}

Market

This set of calls allows the user to fetch the market related information, Scrip wise/Sector wise News, events, Corporate Action & IPO.

The name of the calls are self explanatory and provides in-depth details for fundamental and technical analysis.

Market Status

This API call will fetch the current market status for all the exchange segments.

path Parameters
tenantid
required
string
header Parameters
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Market status fetched successfully.",
  • "data": [
    ]
}

Index Details

This call would return back the data of various Indices in India.

path Parameters
tenantid
required
string
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Holiday Master

This call would return the list of holidays for all exchanges - segment wise.

path Parameters
tenantid
required
string
query Parameters
exchange
string
Example: exchange=NSE_EQ

Exchange Segment (Optional)

year
integer
Example: year=2022

Year (Optional)

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Holiday master fetched successfully",
  • "data": {
    }
}

Banned Scrips

This call would return the list of scrips that are banned in FnO for a given day.

path Parameters
tenantid
required
string
query Parameters
exchange
string
Example: exchange=NSE_FO

Exchange Segment (Optional)

token
integer
Example: token=53751

Token number recieved in Exchange Scrip master (Optional)

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Banned scrip(s) fetched successfully",
  • "data": [
    ]
}

EQ SIP settings details

This call will return Equity SIP setting details.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "EQSIP setting fetched successfully",
  • "data": {
    }
}

EDIS

EDIS - Electronic Delivery instruction slip.

This section would allow to fetch the complete information on EDIS requests made.

EDIS-DPDetails

This call would return back the DP details and Beneficiary account details used for EDIS purpose.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "code": "s-101",
  • "message": "DP Gateway fetched successfully",
  • "data": {
    }
}

EDIS-Summary

This call would return back the EDIS summary for the day.

query Parameters
mktSegID
string
Example: mktSegID=NSE_EQ

Market Segment ID

token
string
Example: token=-1

Scrip token number

productType
string
Example: productType=D

D - Delivery, MF - MTF

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "code": "s-101",
  • "message": "Summary fetched successfully",
  • "data": {
    }
}

EDIS (Approval) Page Redirect

Below URL should be formed with all scrips required for EDIS approval. Open below URL in browser pop-up which will be forwarded to the relevant Depository for approval. Once approved, browser will send message to parent window to take further action.

Note :- Sample request given below. It needs to be Base64 encrypted before sending. Please ignore space at the end of every parameter, it is just for line break to happen.

CDSL Request:
https://demo.63moons.com/edis/newnetnet/EDISGatewayRequest.aspx?userCode=AAABV &managerIP=10.0.0.15 &sessionID=0x0134AECDAD9C67DACF053D396440F7 &channel=MOB &isin=INE205A01025 &isinName=VEDANTA LIMITED &exchangeCd=NSE &product=1 &instrument=Equity &quantity=8970 &dpId=092200 &clientId=1209220000000217 &depository=CDSL &productcode=WAVE &MarketSegId=1 &ScripDetails=[{ISIN:'INE205A01025',Quantity:8,ISINName:'VEDANTA LIMITED',SettlmtCycle:'T1'},{ISIN:'INE467B01029',Quantity:5,ISINName:'TATA CONSULTANCY SERV LT',SettlmtCycle:'T1'},{ISIN:'INE118H01025',Quantity:7,ISINName:'BSE LIMITED',SettlmtCycle:'T1'},{ISIN:'INE012A01025',Quantity:5,ISINName:'ACC LIMITED',SettlmtCycle:'T1'}] &ReqId=GER123 &userId=AD001 &groupId=HO &ProductType=D &AMO=N&SettlmtCycle=T2

NSDL request:
https://demo.63moons.com/edis/newnetnet/EDISGatewayRequest.aspx?userCode=AAABV &managerIP=10.0.0.15 &sessionID=0x0134AECDAD9C67DACF053D396440F7 &channel=MOB &isin=INE205A01025 &isinName=VEDANTA LIMITED &exchangeCd=NSE &product=1 &instrument=Equity &quantity=8970 &dpId=092200 &clientId=1209220000000217 &depository=NSDL &productcode=WAVE &MarketSegId=1 &ScripDetails=[{ISIN:'INE205A01025',Quantity:8,ISINName:'VEDANTA LIMITED',SettlmtCycle:'T1'},{ISIN:'INE467B01029',Quantity:5,ISINName:'TATA CONSULTANCY SERV LT',SettlmtCycle:'T1'},{ISIN:'INE118H01025',Quantity:7,ISINName:'BSE LIMITED',SettlmtCycle:'T1'},{ISIN:'INE012A01025',Quantity:5,ISINName:'ACC LIMITED',SettlmtCycle:'T1'}] &ReqId=GER123 &userId=AD001 &groupId=HO &ProductType=D &AMO=N&SettlmtCycle=T2

Description of fields:

channel = MOB / WEB,

exchangeCd = NSE / BSE,

product = 1 (cash),

instrument = Equity,

productcode = MOBILEAPI / WEBAPI,

ProductType = D (delivery) / MF (MTF),

Response:
POST http://DOMAIN_NAME/PAGE_URL
BODY:
{"Depository":"CDSL", "dpId":null, "clientId":null, "isin":null, "OriginalQty":null, "BlkQty":null, "Channel":null, "Status":"Success", "Remark":"", "RefNum":"0", "TransRefNum":"1310202062531710", "StatusCode":"", "ScripDetails":"[{"ISIN":"INE898S01029", "Qty":8, "Status":"Failure", "StatusCode":"ERR035", "RefNo":"00092200DA236", "ISINName":"MAJESCO LIMITED", "ErrorDesc":"Invalid ISIN"}, {"ISIN":"INE325A01013", "Qty":8, "Status":"Success", "StatusCode":"", "RefNo":"00092200DA246", "ISINName":"TIMKEN INDIA LTD.", "ErrorDesc":null}]", "BrokerOrdrNo":"AAABV1602622349", "ReqId":"GER123", "UserId":"AD001", "GroupId":"HO"}

After receiving the response, it will be sent to webhook, which is to be configured in web.config of newnetnet with key (EDIS_POST_RESPONSE_URL).

query Parameters
enct
string
Example: enct=dXNlckNvZGU9TlhXQUQmbWFuYWdlcklQPTE3Mi4yNS4xMDIuMjMzJnNlc3Npb25JRD0weDAxMThGOEE1RjJCOUJFQTU4QkEzNzkzNjU3MkVDMiZjaGFubmVsPU1PQiZpc2luPSZpc2luTmFtZT0mZXhjaGFuZ2VDZD1OU0UmcHJvZHVjdD0xJmluc3RydW1lbnQ9RXF1aXR5JnF1YW50aXR5PTAmZHBJZD0wOTIyMDAmY2xpZW50SWQ9MTIwOTIyMDAwMDAwMDIwMiZkZXBvc2l0b3J5PUNEU0wmcHJvZHVjdGNvZGU9V0FWRSZNYXJrZXRTZWdJZD0xJlNjcmlwRGV0YWlscz0lNUIlN0IlMjJJU0lOJTIyJTNBJTIySU5GMTc0S0ExSUE1JTIyJTJDJTIyUXVhbnRpdHklMjIlM0EzMCUyQyUyMklTSU5OYW1lJTIyJTNBJTIyS09UQUtNQU1DJTIwLSUyMEtPVEFLQUxQSEElMjIlN0QlMkMlN0IlMjJJU0lOJTIyJTNBJTIySU5FNTI4RzAxMDM1JTIyJTJDJTIyUXVhbnRpdHklMjIlM0EyMiUyQyUyMklTSU5OYW1lJTIyJTNBJTIyWUVTJTIwQkFOSyUyMExJTUlURUQlMjIlN0QlMkMlN0IlMjJJU0lOJTIyJTNBJTIySU5FMjU2QTAxMDI4JTIyJTJDJTIyUXVhbnRpdHklMjIlM0EzMCUyQyUyMklTSU5OYW1lJTIyJTNBJTIyWkVFJTIwRU5URVJUQUlOTUVOVCUyMEVOVCUyMExURCUyMiU3RCU1RCZ1c2VySWQ9REVNTzMxJmdyb3VwSWQ9SE8mYW1vPU4mU2V0dGxtdEN5Y2xlPVQy

Value is Base64 encoded

Responses

EDIS (Approval) Page Redirect - CDSL

Below URL should be formed with all scrips required for EDIS approval. Open below URL in browser pop-up which will be forwarded to the relevant Depository for approval. Once approved, browser will send message to parent window to take further action.

Request Body schema: multipart/form-data
userCode
string

User code as received in login response

managerIP
string

Manager IP

sessionID
string

Session Id

channel
string
Enum: "MOB" "WEB"

Channel

isin
string

ISIN

isinName
string

ISIN name

exchangeCd
string
Enum: "NSE" "BSE"

Exchange

product
integer
Value: 1

Product

instrument
string
Value: "Equity"

Instrument

quantity
string

Quantity

dpId
integer

Depository Participant Id

clientId
integer

Client Id

depository
string
Enum: "CDSL" "NSDL"

Depository

productcode
string
Enum: "ODINAERO" "WAVE"

Product code

MarketSegId
integer
Value: 521

Market segment Id

ScripDetails
string
Value: [{"ISIN":"INE176A01028","Quantity":10,"ISINName":"BATA INDIA LTD","SettlmtCycle":"T1"},{"ISIN":"INE029A01011","Quantity":100,"ISINName":"BHARAT PETROLEUM CORP LT","SettlmtCycle":"T1"},{"ISIN":"INE257A01026","Quantity":300,"ISINName":"BHEL","SettlmtCycle":"T1"},{"ISIN":"INE022Q01020","Quantity":10,"ISINName":"INDIAN ENERGY EXC LTD","SettlmtCycle":"T1"},{"ISIN":"INE245A01021","Quantity":100,"ISINName":"TATA POWER CO LTD","SettlmtCycle":"T1"}]

Scrip details

userId
string

User Id (UCC)

groupId
string

Group Id

amo
string
Enum: "N" "Y"

AMO

SettlmtCycle
string

Settlement cycle

theme
string
Value: "L"

Theme

Responses

Response samples

Content type
application/json
{
  • "Depository": "CDSL",
  • "dpId": null,
  • "clientId": null,
  • "isin": null,
  • "OriginalQty": null,
  • "BlkQty": null,
  • "Channel": null,
  • "Status": "Success",
  • "Remark": "",
  • "RefNum": "0",
  • "TransRefNum": "2106202316633186",
  • "StatusCode": "",
  • "ScripDetails": "[{\"ISIN\":\"INE263A01024\",\"Qty\":2,\"Status\":\"Success\",\"StatusCode\":\"\",\"RefNo\":\"NS301604L66\",\"ISINName\":\"BHARAT+ELECTRONICS+LTD\",\"ErrorDesc\":null}]",
  • "BrokerOrdrNo": "0170001687355003",
  • "ReqId": "",
  • "UserId": "DEMO31",
  • "GroupId": "HO"
}

EDIS (Approval) Page Redirect - NDSL

Below URL should be formed with all scrips required for EDIS approval. Open below URL in browser pop-up which will be forwarded to the relevant Depository for approval. Once approved, browser will send message to parent window to take further action.

Request Body schema: multipart/form-data
depository
string
Enum: "NSDL" "CDSL"

Depository

userCode
string

User code as received in login response

userId
string

user Id (UCC)

groupId
string

Group Id

managerIP
string

Manager IP

sessionID
string

Session Id

channel
string
Enum: "MOB" "WEB"

Channel

isin
string

ISIN

isinName
string

ISIN name

exchangeCd
string
Enum: "NSE" "BSE"

Exchange

product
integer
Value: 1

Product

instrument
string
Value: "Equity"

Instrument

quantity
integer

Quantity

dpId
string

Depository Participant Id

clientId
integer

Client Id

productcode
string
Enum: "ODINAERO" "WAVE"

Product code

ScripDetails
string
Value: [{"ISIN:\"INE263A01024\"":null,"Quantity:2":null,"ISINName:\"BHARAT+ELECTRONICS+LTD\"":null}]

Scrip details

ProductType
string
Enum: "D = Delivery" "MF = MTF"

Product type

ReqId
string

Request Id

amo
string
Enum: "N" "Y"

AMO

SettlmtCycle
string

Settlement cycle

Responses

Response samples

Content type
application/json
{
  • "Depository": "NDSL",
  • "dpId": null,
  • "clientId": null,
  • "isin": null,
  • "OriginalQty": null,
  • "BlkQty": null,
  • "Channel": null,
  • "Status": "Success",
  • "Remark": "",
  • "RefNum": "0",
  • "TransRefNum": "2106202316633186",
  • "StatusCode": "",
  • "ScripDetails": "[{\"ISIN\":\"INE263A01024\",\"Qty\":2,\"Status\":\"Success\",\"StatusCode\":\"\",\"RefNo\":\"NS301604L66\",\"ISINName\":\"BHARAT+ELECTRONICS+LTD\",\"ErrorDesc\":null}]",
  • "BrokerOrdrNo": "0170001687355003",
  • "ReqId": "",
  • "UserId": "DEMO31",
  • "GroupId": "HO"
}

EDIS (Revoke) Page Redirect

Below URL should be formed with all scrips required for EDIS revoke. Open below URL in browser pop-up which will be forwarded to the relevant Depository for revoke. Once approved, browser will send message to parent window to take further action.

Note :- Sample request given below. It needs to be Base64 encrypted before sending. Please ignore space at the end of every parameter, it is just for line break to happen.

NSDL Request :-

https://demo.63moons.com/edis/newnetnet/EDISRevokeRequest.aspx? userCode=NXWAD&depository=NSDL&userId=DEMO31&groupId=HO&managerIP=172.25.102.233&sessionID=0x01795DF5C40CF997470D3C3BB81A00 &dpId=017000&clientId=1201700000207472&productcode=WAVE &ScripDetails=[{"ISIN":"INE012A01025","Quantity":90,"ISINName":"ACC LIMITED"},{"ISIN":"INE836A01035","Quantity":90,"ISINName":"BIRLASOFT LIMITED"}] &channel=MOB&theme=L

CDSL Request :-

https://demo.63moons.com/edis/newnetnet/EDISRevokeRequest.aspx? depository=CDSL&userCode=NZHXQ&userId=DEMO31&groupId=HO&managerIP=172.25.102.233&sessionID=0x01795DF5C40CF997470D3C3BB81A00 &channel=WEB&exchangeCd=NSE&product=1&dpId=017000&clientId=1201700000405200&productcode=diet &ScripDetails=[{ISIN:"INE669E01016",Quantity:212,ISINName:"VODAFONE+IDEA+LIMITED"}]&ReqId=IS9158-14052024121743

Description of fields :-

channel = MOB / WEB

Response :

POST http://DOMAIN_NAME/PAGE_URL

BODY :

{"Depository":"NSDL","dpId":"NS123123","clientId":"87654322","isin":null,"OriginalQty":null, "BlkQty":null,"Channel":null,"Status":"Success","Remark":"order captured successfully","RefNum":"0", "TransRefNum":"6383655808367495","StatusCode":"00","ScripDetails":[{"ISIN":"INE012A01025","Qty":90, "Status":"Success","StatusCode":"04-","RefNo":"3865255227709835","ISINName":"ACC LIMITED","sBlkStatus":"04", "RequestTime":"2024-05-07T13:56:30+05:30","ConfirmStatus":"Success","ErrorDesc":null}], "BrokerOrdrNo":"10NXWBF171509019","ReqId":"RAMIBT-070524135630","UserId":"RAMIBT","GroupId":"HO"}

query Parameters
enct
string
Example: enct=dXNlckNvZGU9TlhXQUQmZGVwb3NpdG9yeT1DRFNMJnVzZXJJZD1ERU1PMzEmZ3JvdXBJZD1ITyZtYW5hZ2VySVA9MTcyLjI1LjEwMi4yMzMmc2Vzc2lvbklEPTB4MDE3OTVERjVDNDBDRjk5NzQ3MEQzQzNCQjgxQTAwJmRwSWQ9MDE3MDAwJmNsaWVudElkPTEyMDE3MDAwMDAyMDc0NzImcHJvZHVjdGNvZGU9V0FWRSZTY3JpcERldGFpbHM9JTVCJTdCJTIySVNJTiUyMiUzQSUyMklORTAxMkEwMTAyNSUyMiUyQyUyMlF1YW50aXR5JTIyJTNBOTAlMkMlMjJJU0lOTmFtZSUyMiUzQSUyMkFDQyUyMExJTUlURUQlMjIlN0QlMkMlN0IlMjJJU0lOJTIyJTNBJTIySU5FODM2QTAxMDM1JTIyJTJDJTIyUXVhbnRpdHklMjIlM0E5MCUyQyUyMklTSU5OYW1lJTIyJTNBJTIyQklSTEFTT0ZUJTIwTElNSVRFRCUyMiU3RCU1RCZjaGFubmVsPU1PQiZ0aGVtZT1M

Value is Base64 encoded

Responses

EDIS (Revoke) Page Redirect - CDSL

Below URL should be formed with all scrips required for EDIS revoke. Open below URL in browser pop-up which will be forwarded to the relevant Depository for revoke. Once approved, browser will send message to parent window to take further action.

Request Body schema: multipart/form-data
userCode
string

User code as received in login response

depository
string

Depository

userId
string

User Id (UCC)

groupId
string

Group Id

managerIP
string

Manager IP

sessionID
string

Session Id

dpId
integer

Depository Participant Id

clientId
integer

Client Id

productcode
string
Enum: "ODINAERO" "WAVE"

Product code

ScripDetails
string
Value: [{"ISIN":"INE012A01025","Quantity":90,"ISINName":"ACC LIMITED"},{"ISIN":"INE836A01035","Quantity":90,"ISINName":"BIRLASOFT LIMITED"}]

Scrip details

channel
string
Enum: "MOB" "WEB"

Channel

reqId
string

Request Id

theme
string
Value: "L"

Theme

Responses

Response samples

Content type
application/json
{
  • "Depository": "CDSL",
  • "dpId": null,
  • "clientId": null,
  • "isin": null,
  • "OriginalQty": null,
  • "BlkQty": null,
  • "Channel": null,
  • "Status": "Success",
  • "Remark": "",
  • "RefNum": "0",
  • "TransRefNum": "RVRES95687066386",
  • "StatusCode": "",
  • "ScripDetails": "[{\"ISIN\":\"INE012A01025\",\"Qty\":90,\"Status\":\"Success\",\"StatusCode\":\"0\",\"RefNo\":\"NS301604M611\",\"ISINName\":\"ACC LIMITED\",\"ErrorDesc\":null}]",
  • "BrokerOrdrNo": "0170001687465885",
  • "ReqId": "",
  • "UserId": "DEMO31",
  • "GroupId": "HO"
}

EDIS (Revoke) Page Redirect - NDSL

Below URL should be formed with all scrips required for EDIS revoke. Open below URL in browser pop-up which will be forwarded to the relevant Depository for revoke. Once approved, browser will send message to parent window to take further action.

Request Body schema: multipart/form-data
userCode
string

User code as received in login response

depository
string
Enum: "NSDL" "CSDL"

Depository

userId
string

User Id (UCC)

groupId
string

Group Id

managerIP
string

Manager IP

sessionID
string

Session Id

dpId
integer

Depository Participant Id

clientId
integer

Client Id

productcode
string
Enum: "WAVE" "ODINAERO"

Product code

ScripDetails
string
Value: [{"ISIN":"INE012A01025","Quantity":90,"ISINName":"ACC LIMITED"},{"ISIN":"INE836A01035","Quantity":90,"ISINName":"BIRLASOFT LIMITED"}]

Scrip details

channel
string
Enum: "MOB" "WEB"

Channel

reqId
string

Request Id

theme
string
Value: "L"

Theme

Responses

Response samples

Content type
application/json
{
  • "Depository": "NDSL",
  • "dpId": null,
  • "clientId": null,
  • "isin": null,
  • "OriginalQty": null,
  • "BlkQty": null,
  • "Channel": null,
  • "Status": "Success",
  • "Remark": "",
  • "RefNum": "0",
  • "TransRefNum": "RVRES95687066386",
  • "StatusCode": "",
  • "ScripDetails": "[{\"ISIN\":\"INE012A01025\",\"Qty\":90,\"Status\":\"Success\",\"StatusCode\":\"0\",\"RefNo\":\"NS301604M611\",\"ISINName\":\"ACC LIMITED\",\"ErrorDesc\":null}]",
  • "BrokerOrdrNo": "0170001687465885",
  • "ReqId": "",
  • "UserId": "DEMO31",
  • "GroupId": "HO"
}

Generate TPIN

This API call would be used to generate TPIN.

Note: This facility is available for CDSL only.

path Parameters
tenantid
required
string
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
dpid
string

dpid

boid
string

boid

dp_type
string

dp_type

pan
string

pan

Responses

Request samples

Content type
application/json
{
  • "dpid": "12092200",
  • "boid": "1209220000000202",
  • "dp_type": "CDSL",
  • "pan": "QWERT1234Y"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "TPIN Generated Successfully",
  • "data": {
    }
}

Margin Pledge

Margin Pledge is a process in which users can pledge their stocks to the broker in return for a collateral margin that can be utilized for trading.

Margin Pledge Page Redirect

This API call allows you to initiate pledge request for stocks in holdings, in order to raise collateral margin for trading.

Note :- Sample request given below. It needs to be Base64 encrypted before sending. Please ignore space at the end of every parameter, it is just for line break to happen.

Pledge Request: https://demo.63moons.com/edis/newnetnet/PledgeRequest.aspx?type=1&UserId=NITWR21&GroupId=HO&Product=WAVE2&ManagerIP=172.25.104.113 &DealerCode=NXVZO&GroupCode=AAAAA&theme=L&SessionId=0x014519BF4DFB8DEC71FD4C5EA91F8D

query Parameters
type
integer
Example: type=1
enct
string
Example: enct=VXNlcklkPU5JVFdSMjEmR3JvdXBJZD1ITyZQcm9kdWN0PVdBVkUyJk1hbmFnZXJJUD0xNzIuMjUuMTA0LjExMyZEZWFsZXJDb2RlPU5YVlpPJkdyb3VwQ29kZT1BQUFBQSZ0aGVtZT1MJlNlc3Npb25JZD0weDAxNDUxOUJGNERGQjhERUM3MUZENEM1RUE5MUY4RA==

Responses

IPO

This section provides the API calls to fetch the complete information about current, upcoming and closed IPOS.

This also allows you to place, modify, cancel IPO orders.

IPO List

This call would return back the list of ongoing, upcoming and closed IPOs.

query Parameters
type
string
Example: type=-1

C = Current, F = Future, P = Past and -1 = All

offerName
string

Offer Name

offerType
string
Example: offerType=IPO

IPO, FPO

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "IPO list fetched successfully",
  • "data": {
    },
  • "metadata": ""
}

IPO Details

This call would return back the Details of a particular IPO.

path Parameters
ipocode
string
Example: VERANDA

ipocode

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "code": "s-101",
  • "message": "IPO Details Fetch successfully",
  • "data": {
    }
}

Place/Modify IPO Order

To modify ipo order, need to send "TransactionNo" and "ReferenceNo" received while placing ipo order.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
UserID
string

UserID

GroupID
string

GroupID

UCCClientID
string

UCCClientID

UCCGroupID
string

UCCGroupID

BidMode
string

BidMode

IPOCode
string

IPO Code

Series
string

Series

AppCategoryCode
string

AppCategoryCode

DPId
string

DP Id

BeneficiaryId
string

Beneficiary Id

PaymentMode
string

Payment Mode

UpiId
string

Upi Id

BankId
string

Bank Id

BankAccountNo
string

Bank Account No

TransactionNo
string

Transaction No

ReferenceNo
string

Reference No

Array of objects

List

Responses

Request samples

Content type
application/json
{
  • "UserID": "{{user_id}}",
  • "GroupID": "HO",
  • "UCCClientID": "",
  • "UCCGroupID": "",
  • "BidMode": "N",
  • "IPOCode": "1234",
  • "Series": "EQ",
  • "AppCategoryCode": "Retail",
  • "DPId": "12092200",
  • "BeneficiaryId": "1209220000000202",
  • "PaymentMode": "UPI",
  • "UpiId": "shweta@okaxis",
  • "BankId": "",
  • "BankAccountNo": "",
  • "TransactionNo": "",
  • "ReferenceNo": "",
  • "Bids": [
    ]
}

IPO Orders

This call would return back the data from the IPO order book.

query Parameters
startdate
string
Example: startdate=2022-03-12
endDate
string
Example: endDate=2022-04-11
offerType
integer
Example: offerType=1
offername
string
status
string
Example: status=-1
ipoCode
string
applicationNo
string
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "code": "s-101",
  • "message": "IPO Order Book Fetch successfully",
  • "data": {
    }
}

Cancel IPO Order

Lets you cancel an Existing IPO order.

path Parameters
transactionNo
string
Example: 429
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

ScripInfo

This section provides the API calls to fetch the Scrip details and security information.

Scrip Search

This call would return back the List of scrips matching the search text.

path Parameters
tenantid
required
string
searchText
required
string
Example: ACC

NIFTY APR, GOLD MCX

mktAllowed
required
string
Example: -1
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": {
    }
}

Security Info

This call would return back the Security info data for a particular scrip. ( Viz... Symbol, series, ISIN Code, Instrument type, etc..)

path Parameters
tenantid
required
string
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
mktSegmentId
string

Market segment ID of the scrip/contract

token
string

Scrip token of the scrip available in the exchange scrip master file

Responses

Request samples

Content type
application/json
{
  • "mktSegmentId": "1",
  • "token": "1594"
}

Response samples

Content type
application/json
Example
{
  • "status": true,
  • "result": {
    }
}

Get Scrip

This call would return back a particular Scrip details in different exchanges.

path Parameters
tenantid
required
string
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": {
    }
}

Get Banned Scrip

This call would return back the ban status of the scrip.

path Parameters
tenantid
required
string
segmentId
required
string
Example: 2
token
required
string
Example: 52271
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Span Margin Info

This API call will fetch the span margin info for derivative contract.

path Parameters
tenantid
required
string
exchangeSegment
required
integer
Example: 2

Exchange segment id

scripToken
required
integer
Example: 56838

Scrip token of the scrip available in the exchange scrip master file

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Price Range Settings for CO or BO

This API call will fetch price range applicable for different legs of Cover (Margin Plus) or Bracket order.

Parameter moneymode should contain value of strike price from at the money (ATM).

strike price moneymode
ATM 1
ATM + 1 2
ATM - 1 3
Deep in the money 4
Deep out of the money 5
ATM + 2 6
ATM - 2 7
ATM + 3 8
ATM - 3 9
ATM + 4 10
ATM - 4 11
ATM + 5 12
ATM - 5 13
path Parameters
tenantid
required
string
exchangeSegment
required
integer
Example: 1

Exchange segment id

scripToken
required
integer
Example: 1594

Scrip token of the scrip available in the exchange scrip master file

instrument
required
string
Example: EQUITIES

Instrument Type of the contract provided in the exchange scripmaster file

symbol
required
string
Example: INFY

Symbol code provided in exchange scripmaster file

series
required
string
Example: EQ

Series to which the scrip belongs (e.g. A, Eq, B, T, Z etc.)

expiryDate
required
string
Example: NA

Expiry date of the contract

strikePrice
required
string
Example: -

Strike price of the contract, usually in Paise

optionType
required
string
Example: NA

Option type example CE PE.

moneymode
required
string
Example: -

Moneyness of the Option, ie. strike price from at the money

productCode
required
string
Example: B

Product code. B = Bracket order, C = Cover order

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Get LTP Price Band Master

This API call will fetch LTP price band master set by admin.

path Parameters
tenantid
required
string
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "LTP band validations fetched successfully.",
  • "data": [
    ]
}

Scrip Alert

Lets you set an alert for a particular scrip.

Allowed field for alert are LIFETIMEHIGH, LIFETIMELOW, LASTTRADEDPRICE, and USE_VALUE.

path Parameters
tenantid
required
string
version
required
string
Enum: "v1" "v2"
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
Array of objects
object
expiration
integer

Expiration

createDate
string

Create Date

Responses

Request samples

Content type
application/json
{
  • "condition": [
    ],
  • "data": {
    },
  • "expiration": -1,
  • "createDate": "2022-07-25T13:00:54.907Z"
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Alert submitted.",
  • "data": {
    }
}

Modify Scrip Alert

This API call would let you modify a particular alert which is already set.

Allowed field for alert are LIFETIMEHIGH, LIFETIMELOW, LASTTRADEDPRICE, and USE_VALUE.

path Parameters
tenantid
required
string
version
required
string
Enum: "v1" "v2"
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
Array of objects
object
expiration
integer

Expiration

createDate
string

Create Date

serverAlertId
string

Server Alert ID

UniqueId
string

Unique Alert ID

Responses

Request samples

Content type
application/json
{
  • "condition": [
    ],
  • "data": {
    },
  • "expiration": -1,
  • "createDate": "2022-07-25T13:00:54.907Z",
  • "serverAlertId": "3c0bca4a-fd94-4d66-bd62-8b71da1d123c"
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Alert modified.",
  • "data": {
    }
}

Get Alerts

This API call would return the list of all alerts set for a particular user.

path Parameters
tenantid
required
string
user_id
required
string
version
required
string
Enum: "v1" "v2"
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Alerts fetched successfully.",
  • "data": [
    ]
}

Delete Alert

This API call would let you delete a particular alert which is already set.

path Parameters
tenantid
required
string
user_id
required
string
serverAlertId
required
string
Example: 1103c5f6-1993-4f68-8cd3-5a9be50f4719

Server Alert Id from Get Alerts API.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Alert deleted.",
  • "data": {
    }
}

Delete Multiple Alerts

This API call would let you delete multiple alerts which are already set.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Alert deleted successfully.",
  • "data": [
    ]
}

Scrip VWAP

This API call would let you fetch volume weighted average price for a particular scrip over a specified period of time.

path Parameters
tenantid
required
string
exchange
required
string
Example: NSE_EQ

Exchange

token
required
integer
Example: 22

Token number recieved in Exchange Scrip master

timePeriod
required
integer
Example: 15

Time Period : 15 / 30 / 60

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "VWAP data fetch successfully",
  • "data": [
    ]
}

Scrip by ISIN

This call would return back Scrip details in different exchanges.

path Parameters
tenantid
required
string
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
isin
Array of strings

List of ISIN

Responses

Request samples

Content type
application/json
{
  • "isin": [
    ]
}

Response samples

Content type
application/json
{
  • "summary": "Scrip by ISIN",
  • "value": {
    }
}

Balance

This section provides the API calls to get the information on Fund Balances.

Periodicity Wise Balance

This call would return back the Periodicity-wise Fund Balance. These balances are categorized as cash deposit, adhoc deposit, Misc Deposit, overdraft limit, etc..

query Parameters
periodicity
integer
Example: periodicity=3

Periodicity ID (Optional) is available with MarginInfo API with type as list.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Product Wise Balance

This call would return back the Product-wise Fund Balance. These balances are categorized as "COMMCOMB", "EQ+FO+CDS+MCX+OTS", "NSE EQUITIES", etc..

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Funds View Summary

path Parameters
tenantid
required
string
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
userId
string

User Id

groupId
string

Group Id

periodicityName
string

Periodicity Name

productType
integer

Product Type

Responses

Request samples

Content type
application/json
{
  • "userId": "{{user_id}}",
  • "groupId": "HO",
  • "periodicityName": "All Exchange Combined",
  • "productType": 1
}

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Margin Info

This call would be used to fetch details of margin in different ways.

path Parameters
type
required
string
Example: detailed_limit

Allowed values are "list" (to get list of all allowed periodicities), "limit" (to get limit utilization), "tokenwise" (to get scrip wise margin utilization), "producttypewise" (to get exchange product type wise margin utilization), "detailed_limit" (to get detailed limit utilization)

header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Funds

This section provides API calls to add funds, withdraw funds, get the Funds transaction related information like Bank details, UPI Details, purchase power, etc..

Bank details by Bank Id

This call would return back the Bank details by Bank Id.

path Parameters
productId
required
integer
Example: 1
bankId
required
string
Example: HDFC
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Bank Details

This call would return back the Bank Details.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Bank For Selected Product

This call would return back the Bank For Selected Product.

path Parameters
productId
required
string
header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Default Bank Details

This call would return back the Default Bank Details.

path Parameters
productId
required
integer
Example: 1
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

UPI Details

This call would return back the UPI Details.

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Mapped Banks List

This call would return back the payment gateway details for selected product and selected bank.

path Parameters
productID
required
integer
Example: 100

Product ID in which funds add

bankID
required
string
Example: HDFC

Bank ID from which funds add

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Purchase Power

This call would return back the Total Purchasing power of the user.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": "199999929591.04"
}

Gateway Details

This call would return back the Gateway Details.

path Parameters
productId
required
integer
Example: 1
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [ ]
}

Funds Transfer Mapped Product

This call would return back the Fund transfer product ID mapped for various Products.

path Parameters
productid
required
integer
Example: 100
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [
    ]
}

Funds Add Page Redirect

This API call allows you to initiate funds add request for selected product and bank.

Note :- Sample request given below. Please ignore space at the end of every parameter, it is just for line break.

http://DOMAIN/newnetnet/PaymentGateway/ProcessSendData.aspx?BankID=ATOMPG&AgencyID=&ProductId=100 &ProductName=TRADING&Amount=10000 &BankGroupId=10&UserID=APITEST&UserGroupID=HO &Product=WAVE&ManagerId=Odindemo.63moons.com &BankAcctNo=0&BlockThirdParty=0 &BankBrokerCode=&AccCustid=&MappedBankId=1006 &HoldRelease=HOLD&UPIID=apitest@okaxis

Description of fields:

BankID = First part of sAggregatorBankId separated by "-",

MappedBankId = Second part of sAggregatorBankId separated by "-",

BankGroupId = nGroupId

HoldRelease = HOLD to add funds

Values can be found in response of "Mapped Banks List" API call.

query Parameters
BankID
string
Example: BankID=ATOMPG
AgencyID
string
ProductId
integer
Example: ProductId=100
ProductName
string
Example: ProductName=TRADING
Amount
integer
Example: Amount=10000
BankGroupId
integer
Example: BankGroupId=10
UserID
string
Example: UserID=APITEST
UserGroupID
string
Example: UserGroupID=HO
Product
string
Example: Product=WAVE
ManagerId
string
Example: ManagerId=Odindemo.63moons.com
BankAcctNo
integer
Example: BankAcctNo=0
BlockThirdParty
integer
Example: BlockThirdParty=0
BankBrokerCode
string
AccCustid
string
MappedBankId
integer
Example: MappedBankId=1006
HoldRelease
string
Example: HoldRelease=HOLD
UPIID
string
Example: UPIID=apitest@okaxis

Responses

Funds Transfer

Lets you Transfer (Add) Funds to the trading account.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
moveFromProductID
string

move from Product ID

moveToProductID
string

move to Product ID

transferAmount
string

transfer Amount

Responses

Request samples

Content type
application/json
{
  • "moveFromProductID": "1",
  • "moveToProductID": "2",
  • "transferAmount": "1000"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": {
    }
}

Funds Withdrawal

Lets you Withdraw Funds.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
accNo
string

Account number

amount
string

Amount

appWithdrawKey
string
Enum: "1 = auto withdrawal" "2 = manual withdrawal"

Whether the withdrawal shall be done Automatically or Manually.

bankId
string

Bank Id

productId
string

Refer Product Id from Balance > Productwise balance

productName
string

Refer Product name from Balance > Productwise balance

Responses

Request samples

Content type
application/json
{
  • "accNo": "87546532965",
  • "amount": "5000",
  • "appWithdrawKey": "1",
  • "bankId": "HDFC",
  • "productId": "100",
  • "productName": "TRADING"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": {
    }
}

Funds Withdrawal Cancellation

Lets you cancel the Fund Withdrawal requests which are pending.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
productId
string

product Id

amount
string

Amount of the withdrawal request to be canceled

TxnRefNo
string

Trasaction Reference Number

Responses

Request samples

Content type
application/json
{
  • "productId": "100",
  • "amount": "1000",
  • "TxnRefNo": "ABCD123"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": {
    }
}

Funds Report

Lets you Fetch the Funds Report.

header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
FromDate
string

Start date for the report

ToDate
string

End date for the report

Status
integer
Enum: "1 = Deposit" "2 = Withdrawl"

Status of the Funds records requested

bankId
string

bankId

fund_type
string

fund_type

Responses

Request samples

Content type
application/json
{
  • "FromDate": "04-01-2022",
  • "ToDate": "04-01-2022",
  • "Status": 2,
  • "bankId": "",
  • "fund_type": ""
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Success message",
  • "data": [ ]
}

Messages

This section provides the API calls to fetch the details of various Messages Flashed in the system.

Broker Messages

This call would return back the Broker Messages.

path Parameters
tenantid
required
string
query Parameters
pageNo
integer
Example: pageNo=1
pageSize
integer
Example: pageSize=10
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Order Messages

This call would return the users Order Messages.

path Parameters
tenantid
required
string
query Parameters
pageNo
integer
Example: pageNo=1
pageSize
integer
Example: pageSize=10
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Exchange Messages

This call would return back the Exchange Messages.

path Parameters
tenantid
required
string
segmentId
required
string
Example: NSE_EQ
query Parameters
noofhrs
integer
Example: noofhrs=1
pageNo
integer
Example: pageNo=1
pageSize
integer
Example: pageSize=10
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Recommendations

This call would return back the Recommendations sent by the Broker.

path Parameters
tenantid
required
string
query Parameters
allowedNewsCat
string
Example: allowedNewsCat=25014,25033,25000,25035,25034,25039
pageNo
integer
Example: pageNo=1
pageSize
integer
Example: pageSize=10
header Parameters
Authorization
string
Example: {{access_token}}
Content-Type
string
Example: application/json
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "result": [
    ]
}

Watchlist

This section provides the API calls for Watchlist management. i.e. fetch Watchlists, create a new Watchlist, modify or delete existing Watchlist.

Watchlist Global

This call would return all the Watchlists created by the Member.

header Parameters
Authorization
required
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Watchlist fetched successfully.",
  • "data": [
    ]
}

User created Watchlist

This call would return all the Watchlists created by the User.

header Parameters
Authorization
required
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Watchlist fetched successfully.",
  • "data": [
    ]
}

Watchlist by ID

This call would return the Watchlist on the basis of the given Watchlist Id.

path Parameters
watchlistId
required
string
Example: eb4198ce-3964-4413-87ec-6581d5716f56

Watchlist ID (id field from the Watchlist response)

header Parameters
Authorization
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Watchlist fetched successfully.",
  • "data": {
    }
}

Create Watchlist

This call will help user to create a new Watchlist.

header Parameters
Authorization
required
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
sWatchListName
required
string

Watchlist's Name

bIsPrivate
boolean

Flag to identify private Watchlist

bIsDefault
boolean

Flag to make Watchlist default

sSettings
string

Reserved (must be JSON string)

Array of objects

List of all scrips in watchlist

Responses

Request samples

Content type
application/json
{
  • "sWatchListName": "Test",
  • "bIsPrivate": true,
  • "bIsDefault": false,
  • "sSettings": null,
  • "scrips": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Watchlist created successfully.",
  • "data": {
    }
}

Update Watchlist

This call will let user to update an existing Watchlist and it can be used for renaming an existing Watchlist. It will facilitate to change the sequence of the scrips. Furthermore user can add/delete scrips from the Watchlist.

header Parameters
Authorization
required
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}
Request Body schema: application/json
id
required
string

Watchlist's ID

sWatchListName
string

Watchlist's Name

bIsPrivate
boolean

Flag to identify private Watchlist

bIsDefault
boolean

Flag to make Watchlist default

sSettings
string

Reserved (must be JSON string)

Array of objects

List of all scrips in Watchlist

_version
required
number

Version number of the Watchlist

Responses

Request samples

Content type
application/json
{
  • "id": "7c1aad4a-54fc-481a-98c4-e08f66eb0ca2",
  • "sWatchListName": "Test",
  • "bIsPrivate": true,
  • "bIsDefault": false,
  • "sSettings": null,
  • "scrips": [
    ],
  • "_version": 1
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Watchlist updated successfully.",
  • "data": {
    }
}

Delete Watchlist

This call will let user delete an existing Watchlist created by him/her.

query Parameters
id
required
string
Example: id=b515ae62-2f92-40ef-845b-309719d8242f

Watchlist ID (id field from the Watchlist response)

_version
required
integer
Example: _version=1

Version (_version field from the Watchlist response)

header Parameters
Authorization
required
string
Example: {{access_token}}
x-api-key
string
Example: {{x-api-key}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Watchlist Deleted successfully.",
  • "data": {
    }
}

Addendum & Notices

This section provides the API calls for Addendum and notices displayed to user on login and accept their acknowlegment.

Addendum Notices

This call would return all the addendum and notices created by the Member.

path Parameters
market_allowed
required
string
Example: 268437595

The exchange segments for which the addendum is required.

login_type
required
string
Example: PASSWORD

Type of login allowed for which the addendum is required.

header Parameters
Authorization
string
Example: {{access_token}}

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Addendum and notices data fetch successfully",
  • "data": [
    ]
}

Notice Ack

This call would register acknowledment by the user for a particular notice id.

header Parameters
Authorization
required
string
Example: {{access_token}}
Request Body schema: application/json
notice_id
string

Notice id

accept_or_reject_action
string

Accept or Reject action

client_mac_address
string

Client mac address

Responses

Request samples

Content type
application/json
{
  • "notice_id": "20",
  • "accept_or_reject_action": "ACCEPT",
  • "client_mac_address": "00:00:00:00:00:00"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "code": "s-101",
  • "message": "Status updated for notice ID 20"
}

Price Feed

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.

Real-time streaming messages

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 TypeDescription
AMOOrderIDStringOrder id for AMO/ EqGTD orders otherwise blank
Buy_SellString1 -> Buy
2 -> Sell
CP_IDString
CliOrderNumberIntegerGateway/Client order number [System Generated]
DQIntegerDisclose quantity. Specifies the quantity that has to be disclosed to the market e.g 2500
DQRemainingIntegerDisclose quantity remaining
DaysStringNumber of days
ExchangeStringExchange for which order is to be placed
ExpiryDateStringExpiry Date. Ddmmmyyyy e.g 24JUN2004. Applicable for Future and option segment only
GTDOrderStatusIntegerGTDOrderStatus
InitiatedByStringInitiated from application
InitiatedByUserIdStringInitiated from user id
InstrumentNameStringInstrument 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
LastModifiedTimeDate TimeTime when order was confirmed
LegIndicatorStringBlank value
ManagerIDStringManager Id
MarketTypeIntegerNormal = 1
Auction = 2
PreOpen = 3
MessageSequenceNumberStringRunning Message Sequence Number. For order�s latest status always consider max sequence number.
MessageTypeStringORD_NRML
MiscStringValues will be: SPO-LMT, SPO-MKT, PO-MKT, PO-LMT
ModifiedByStringModified by application
ModifiedByUserIdStringModified by user id
Option_TypeStringOption Type. Applicable for options only.
OrderEntryTimeDate TimeDate and Time will be in 24 Hour Format e.g.: 15Jun2019 15.25.15
OrderNumberStringFor order entry request must be 0. In case of Modification/Cancellation request, this needs to be filled before sending.
OrderOriginalQtyIntegerTotal Quantity of an Order
OrderPriceIntegerSpecifies the price in paise at which the order is placed.
OrderStatusIntegerOrder Status
OrderTypeIntegerOrder Type
OrderValidityStringValidity
PartCodeStringParticipant ID
PendingQtyIntegerPending quantity
ProCliString2 -> PRO
1 -> Client
ProductStringProductType of the order
ReasonStringRejection Reason
ScripCodeStringScrip Code
SeriesStringExchange provided Security Series
SpreadFlagIntegerNormal order = 0
Spread order = 1
SpreadPriceIntegerSpread Price
StrikePriceIntegerExchange provided Strike price (in multiples of 100). Applicable only for options.
SymbolStringExchange provided Security symbol
TradedQTYStringTraded Quantity
TriggerPriceIntegerTrigger Price at which Stop loss Order should be active in market. This field is applicable only for a Stop loss order.
UCCStringAlias UCC Code
UniqueCodeStringAlphanumeric value with special characters
UserIDStringExchange User ID
UserRemarksStringUser Remarks

Order response sample:

    {
        "AMOOrderID":"",
        "Buy_Sell":"1",
        "CP_ID":"",
        "CliOrderNumber":3,
        "DQ":0,
        "DQRemaining":0,
        "Days":"0",
        "Exchange":"2",
        "ExpiryDate":"30Jun2022",
        "GTDOrderStatus":0,
        "InitiatedBy":"WAVE_MOBILE",
        "InitiatedByUserId":"DEMO31",
        "InstrumentName":"FUTIDX",
        "LastModifiedTime":"14-Jun-2022 11.54.30",
        "LegIndicator":"",
        "ManagerID":"6",
        "MarketType":1,
        "MessageSequenceNumber":"10221640000017828",
        "MessageType":"ORD_NRML",
        "Misc":"",
        "ModifiedBy":"WAVE_MOBILE",
        "ModifiedByUserId":"DEMO31",
        "Option_Type":"XX",
        "OrderEntryTime":"14-Jun-2022 11.54.30",
        "OrderNumber":"1000000000004051",
        "OrderOriginalQty":50,
        "OrderPrice":1583890,
        "OrderStatus":5,
        "OrderType":1,
        "OrderValidity":"1",
        "PartCode":"FTIL",
        "PendingQty":50,
        "ProCli":"1",
        "Product":"M",
        "Reason":"",
        "ScripCode":"56734",
        "Series":"XX",
        "SpreadFlag":0,
        "SpreadPrice":0,
        "StrikePrice":-1,
        "Symbol":"NIFTY",
        "TradedQTY":"0",
        "TriggerPrice":0,
        "UCC":"DEMO31",
        "UniqueCode":"NXWAD00003>6",
        "UserID":"46016",
        "UserRemarks":"1339674869"
    }


Trade response structure:
Parameter (Key)Data TypeDescription
Buy_SellString1 -> Buy
2 -> Sell
CP_IDString
CliOrderNumberIntegerGateway/Client order number [System Generated]
DQStringDisclose quantity. Specifies the quantity that has to be disclosed to the market e.g 2500
DQRemainingStringDisclose quantity remaining
DaysIntegerNumber of days
ExchangeIntegerExchange
ExpiryDateStringExpiry Date. Ddmmmyyyy e.g 24JUN2004. Applicable for Future and option segment only
InitiatedByStringInitiated from application
InitiatedByUserIdStringInitiated from user id
InstrumentNameStringInstrument 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
LegIndicatorStringBlank value
ManagerIDIntegerManager Id
MessageSequenceNumberIntegerRunning Message Sequence Number
MessageTypeStringTRD_MSG
MiscStringValues will be: SPO-LMT, SPO-MKT, PO-MKT, PO-LMT
ModifiedByStringModified by application
ModifiedByUserIdStringModified by user id
Option_TypeStringOption Type. Applicable for options only.
OrderLastModifiedTimeDate TimeTime when order was confirmed. Date and Time will be in 24 Hour Format e.g.: 15Jun2019 15.25.15
OrderNumberStringFor order entry request must be 0. In case of Modification/Cancellation request, this needs to be filled before sending.
OrderOriginalQtyIntegerTotal Quantity of an Order
OrderPriceIntegerOrder Price (Fresh order/ Modified order) in paisa
OrderTimeDate TimeDate and Time will be 24 Hour format like: 15Jun2019 15.25.15
OrderTypeIntegerOrder Type
PartCodeStringParticipant ID
PendingQtyStringPending quantity
ProCliString2 -> PRO
1 -> Client
ProductStringProductType of the order
QuantityTradedTodayIntegerTotal no. of quantity traded inclusive of the current trade quantity
ScripCodeIntegerScrip Code
SeriesStringExchange provided Security Series
SpreadFlagIntegerNormal order = 0
Spread order = 1
SpreadPriceIntegerSpread Price
StrikePriceIntegerExchange provided Strike price (in multiples of 100). Applicable only for options.
SymbolStringExchange provided Security symbol
TradeNumberStringTrade no.
TradeQtyStringTraded Quantity
TradeTimeDate TimeDate and Time will be 24 Hour format like: 15Jun2019 15.25.15
TradedPriceStringTrade price in paisa. e.g. 45065 (in multiples of 100)
UCCStringAlias UCC Code
UniqueCodeStringAlphanumeric value with special characters
UserIDStringExchange User ID
UserRemarksStringUser Remarks

Trade response sample:

    {
        "Buy_Sell":"2",
        "CP_ID":"",
        "CliOrderNumber":11,
        "DQ":"0",
        "DQRemaining":"0",
        "Days":0,
        "Exchange":1,
        "ExpiryDate":"",
        "InitiatedBy":"WAVE_MOBILE",
        "InitiatedByUserId":"DEMO31",
        "InstrumentName":"",
        "LegIndicator":"",
        "ManagerID":6,
        "MessageSequenceNumber":10221640000024290,
        "MessageType":"TRD_MSG",
        "Misc":"",
        "ModifiedBy":"WAVE_MOBILE",
        "ModifiedByUserId":"DEMO31",
        "Option_Type":"",
        "OrderLastModifiedTime":"14-Jun-2022 14.03.58",
        "OrderNumber":"1100000000085242",
        "OrderOriginalQty":1,
        "OrderPrice":146000,
        "OrderTime":"14-Jun-2022 14.03.58",
        "OrderType":1,
        "PartCode":"FTIL",
        "PendingQty":"0",
        "ProCli":"1",
        "Product":"M",
        "QuantityTradedToday":1,
        "ScripCode":1594,
        "Series":"EQ",
        "SpreadFlag":0,
        "SpreadPrice":0,
        "StrikePrice":0,
        "Symbol":"INFY",
        "TradeNumber":"50024851",
        "TradeQty":"1",
        "TradeTime":"14-Jun-2022 14.03.58",
        "TradedPrice":"146000",
        "UCC":"DEMO31",
        "UniqueCode":"NXWAD00011>6",
        "UserID":"37652",
        "UserRemarks":"1339682638"
    }