Skip to main content

Reference Catalog

The Reference Catalog provides essential details for integrating market and trading APIs, including scrip master data, exchange segments, order types, validity, and order statuses. This section helps you set up and manage trading operations effectively.

Scrip Master API Details

You can fetch scrip master files (instrument/scrip details) using the following API URLs:

🌐Base URLs:

VersionBase URL
V1https://odinscripmaster.s3.ap-south-1.amazonaws.com/scripfiles/{EXCHANGE}.json
V2 (Latest)https://odinscripmaster.s3.ap-south-1.amazonaws.com/scripfiles/v2/{EXCHANGE}.json

Replace {EXCHANGE} with the corresponding Exchange Code from the table below

🏦Exchange Codes

Exchange NameExchange Code (Use in URL)
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

🧾Example usage

  • For NSE Equity scrips:
    • V1: https://odinscripmaster.s3.ap-south-1.amazonaws.com/scripfiles/NSE_EQ.json
    • V2: https://odinscripmaster.s3.ap-south-1.amazonaws.com/scripfiles/v2/NSE_EQ.json
  • For MCX Commodity (V2): https://odinscripmaster.s3.ap-south-1.amazonaws.com/scripfiles/v2/MCX_FO.json

Global Constrants

These constants are used when placing, modifying, or canceling orders through the Order API. They define things like exchange segment, product type, order type, validity, and order status.

🛡️Exchange Segments ( exchange or segment id )

ValueSegment NameDescription
1NSE_EQNSE Equity Segment
2NSE_FONSE Futures & Options
8BSE_EQBSE Equity Segment
4BSE_FOBSE Futures & Options
16MCX_FOMulti Commodity Exchange
64NCDEX_FONational Commodity & Derivatives Exchange
2048NSE_CURNSE Currency Derivatives
32768NSE_COMMNSE Commodity Segment
268435456BSE_CURBSE Currency Segment
16384BSE_COMMBSE Commodity Segment
1024MSE_CURMSE Currency Segment
536870912NSE_OTSNSE Odd Lot Segment

🗂️Product Types ( product_type )

ValueDescription
INTRADAYIntraday order – auto-squared off before market close
DELIVERYDelivery order – carried forward to holdings
BTSTBuy Today Sell Tomorrow – auto-squared off before next market close
COVERCover Order – 2-leg order: Market order + Stop Loss order
BRACKETBracket Order – 3-leg order: Market/Limit + Stop Loss + Profit booking order
MTFMargin Trading Facility – carry forward position without full payment upfront

🔒Order Types ( order_type)

ValueDescription
RLRegular Limit Order – executes at a specified price
RL-MKTRegular Market Order – executes at market price
SLStoploss Limit – triggers a limit order after stop price is reached
SL-MKTStoploss Market – triggers a market order after stop price is reached

💳Validity ( validity )

ValueDescription
DAYValid for the current trading day only
IOCImmediate or Cancel – executes immediately or gets cancelled
GTDGood Till Date – valid for specified number of days
GTCGood Till Cancelled – remains until user cancels the order
EOSValid for a specific trading session
EOSESSValid until end of session (for BSE)
EOTODYValid until end of trading day (for BSE)

📋Order status ( order_status)

ValueDescription
PENDINGOrder is pending or partially filled
EXECUTEDOrder is fully executed
CANCELLEDOrder is cancelled
OMSXMITTEDReceived by OMS (Order Management System), not yet sent to exchange
OMSREJECTRejected by OMS
ORDERERRORInvalid order – rejected by exchange
ADMINREJECTRejected by OMS Admin
EXXMITTEDSubmitted to exchange – waiting for confirmation
AMOACCEPTEDAMO (After Market Order) accepted by OMS
AMOWITHDRAWNAMO order withdrawn or cancelled

⚠️ Notes :

  • OMS = Order Management System (handles orders before they go to the exchange)
  • AMO = After Market Order (orders placed after market hours)
  • Bracket/Cover Orders are advanced types used for intraday trading with auto square-offs
  • Exchange segments define where the order is being sent (NSE, BSE, MCX, etc.)

Exceptions and Errors

When using the API, you might see some error codes in the response. Here's what they mean in simple terms:

Status CodeMeaningDescription
400Bad RequestSomething is wrong or missing in your request. Check your inputs or parameters.
401UnauthorizedYou're not logged in properly or your access token is expired/invalid. Login again.
404Not FoundThe page or resource you're trying to access doesn't exist.
405Method Not AllowedYou used the wrong request method (like POST instead of GET).
500Internal Server ErrorSomething went wrong on the server. Try again later.
503Service UnavailableThe API server is currently down or busy. Please wait and try again.