openapi: 3.1.0
info:
title: OpenAPI definition
version: v0
servers:
- url: https://api-v2.upstox.com
tags:
- name: Login
- name: User
- name: Portfolio
- name: Order
- name: Pre Risk Checks
- name: Market Quote
- name: Market Quote V3
- name: Market Holidays and Timings
- name: Options
- name: Trade Profit And Loss
- name: History
- name: History V3
- name: History V3
description: Historical Candle Data V3
- name: Charge
- name: Websocket
- name: Post Trade
- name: Expired Instrument
- name: Instruments
- name: News
- name: Mutual Fund
- name: Fundamentals
- name: IPO
- name: PAYMENTS
- name: Events
paths:
/v3/order/modify:
put:
tags:
- Order
operationId: modifyOrder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyOrderRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ModifyOrderV3Response'
security:
- OAUTH2: []
/v3/order/gtt/modify:
put:
tags:
- Order
summary: Modify GTT order
description: This API allows you to modify GTT orders.
operationId: modifyGTTOrder
parameters:
- name: Origin
in: header
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GttModifyOrderRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GttTriggerOrderResponse'
security:
- OAUTH2: []
/v2/user/payments/payout/{transaction_id}:
put:
tags:
- PAYMENTS
operationId: modifyPayout
parameters:
- name: transaction_id
in: path
description: Payout transaction id
required: true
schema:
type: string
example: imps_0426_7654321
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyPayoutRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PayoutDetailsResponse'
security:
- OAUTH2: []
delete:
tags:
- PAYMENTS
operationId: cancelPayout
parameters:
- name: transaction_id
in: path
description: Payout transaction id
required: true
schema:
type: string
example: imps_0426_7654321
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PayoutDetailsResponse'
security:
- OAUTH2: []
/v2/user/ip:
get:
tags:
- User
operationId: getUserIps
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/UserIpResponse'
security:
- OAUTH2: []
put:
tags:
- User
operationId: updateUserIp
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserIpRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/UserIpResponse'
security:
- OAUTH2: []
/v2/portfolio/convert-position:
put:
tags:
- Portfolio
summary: Convert Positions
description: Convert the margin product of an open position
operationId: convertPositions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConvertPositionRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/ConvertPositionResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/order/modify:
put:
tags:
- Order
summary: Modify order
description: This API allows you to modify an order. For modification orderId is mandatory. With orderId you need to
send the optional parameter which needs to be modified. In case the optional parameters aren't sent, the default will
be considered from the original order
operationId: modifyOrder_1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyOrderRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI100010 - Unknown order id | order request rejected
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyOrderResponse'
security:
- OAUTH2: []
/v3/order/place:
post:
tags:
- Order
operationId: placeOrder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlaceOrderV3Request'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PlaceOrderV3Response'
security:
- OAUTH2: []
/v3/order/gtt/place:
post:
tags:
- Order
summary: Place GTT order
description: This API allows you to place GTT orders.
operationId: placeGTTOrder
parameters:
- name: Origin
in: header
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GttPlaceOrderRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GttTriggerOrderResponse'
security:
- OAUTH2: []
/v3/login/auth/token/request/{client_id}:
post:
tags:
- Login
summary: Init token API
description: This API provides the initialize the generate token and it's expiry for an indie user
operationId: initTokenRequestForIndieUser
parameters:
- name: client_id
in: path
required: true
schema:
type: string
minLength: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IndieUserTokenRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1017 - API Key is required
UDAPI1024 - App Secret is required
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/TokenResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
/v2/user/payments/payout:
get:
tags:
- PAYMENTS
operationId: getPayoutHistory
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PaymentHistoryResponse'
security:
- OAUTH2: []
post:
tags:
- PAYMENTS
operationId: initiatePayout
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InitiatePayoutRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PayoutDetailsResponse'
security:
- OAUTH2: []
/v2/user/kill-switch:
get:
tags:
- User
summary: Get kill switch status
description: Returns the disable/enable status of all trading segments for the user.
operationId: getKillSwitch
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1181 - The specified segment does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/KillSwitchResponse'
security:
- OAUTH2: []
post:
tags:
- User
summary: Update kill switch
description: Enable or disable specific trading segments.
operationId: updateKillSwitch
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/KillSwitchSegmentUpdateRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1184 - Segment status cannot be changed until all open positions are closed.
UDAPI1185 - Cannot enable segment - cooling period is still in effect.
UDAPI1186 - The specified segment does not exist.
UDAPI1187 - Failed to update segment status due to an error processing open orders.
UDAPI1188 - Invalid action. Allowed values are ENABLE and DISABLE.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/KillSwitchResponse'
security:
- OAUTH2: []
/v2/order/positions/exit:
post:
tags:
- Order
summary: Exit all positions
description: 'This API provides the functionality to exit all the positions '
operationId: exitPositions
parameters:
- name: tag
in: query
description: The tag associated with the positions for which the positions must be exit
required: false
schema:
type: string
- name: segment
in: query
description: The segment for which the positions must be exit
required: false
schema:
type: string
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1105 - Invalid segment.
UDAPI1108 - No open position available to exit.
UDAPI1109 - Available
open positions should not be more than limit.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/CancelOrExitMultiOrderResponse'
security:
- OAUTH2: []
/v2/order/place:
post:
tags:
- Order
summary: Place order
description: This API allows you to place an order to the exchange via Upstox.
operationId: placeOrder_1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlaceOrderRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/PlaceOrderResponse'
security:
- OAUTH2: []
/v2/order/multi/place:
post:
tags:
- Order
summary: Place multi order
description: This API allows you to place multiple orders to the exchange via Upstox.
operationId: placeMultiOrder
parameters:
- name: Origin
in: header
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MultiOrderRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/MultiOrderResponse'
security:
- OAUTH2: []
/v2/login/authorization/token:
post:
tags:
- Login
summary: Get token API
description: This API provides the functionality to obtain opaque token from authorization_code exchange and also provides
the user’s profile in the same response.
operationId: token
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TokenRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1017 - API Key is required
UDAPI1018 - Redirect URI is required
UDAPI1022 - Code is
required
UDAPI1023 - Grant type is required
UDAPI1024 - App Secret is required
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/TokenResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
/v2/ipos/orders:
get:
tags:
- IPO
summary: Get IPO Orders
description: Fetches the authenticated user's IPO orders/applications.
operationId: getIpoOrders
parameters:
- name: page_number
in: query
description: Page number, starting at 1
required: false
schema:
type: string
example: 1
minimum: 1
- name: records
in: query
description: Number of records per page
required: false
schema:
type: string
example: 10
maximum: 30
minimum: 1
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Invalid pagination parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IpoOrderResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
post:
tags:
- IPO
summary: Apply for IPO
description: Places an IPO application for the authenticated user.
operationId: applyForIpo
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IpoApplyRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Invalid request payload.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IpoApplyResponse'
'404':
description: IPO not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/events:
post:
tags:
- events-controller-v-2
operationId: publishEvent
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/EventResponse'
/v2/charges/margin:
post:
tags:
- Charge
summary: Calculate Margin
description: Compute Margin
operationId: postMargin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MarginRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1095 - The price must be greater than zero
UDAPI1096 - Quantity cannot be less than or equal
to zero
UDAPI1097 - The quantity is required
UDAPI1098 - The instrument_token is of invalid format
UDAPI1099
- The instrument key is required
UDAPI1100 - The product is required
UDAPI1101 - The transaction_type is
required
UDAPI1102 - The instrument limit has been exceeded
UDAPI1103 - Instrument key cannot be duplicated
UDAPI1104
- Quantity should be multiple of lot size
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/PostMarginResponse'
security:
- OAUTH2: []
/v3/user/get-funds-and-margin:
get:
tags:
- User
summary: Get User Fund And Margin
description: Shows the detailed balance breakdown of the user including cash, pledged margin, available-to-trade, and
unavailable-to-trade components.
operationId: getUserFundMarginV3
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserFundMarginV3Response'
security:
- OAUTH2: []
/v3/portfolio/mtf-positions:
get:
tags:
- Portfolio
summary: Get MTF positions
description: This API allows you to get MTF positions.
operationId: getMtfPositions
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetPositionResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v3/order/gtt:
get:
tags:
- Order
summary: Get GTT order details
description: GTT_ORDER_DESCRIPTION
operationId: getGttOrderDetails
parameters:
- name: gtt_order_id
in: query
description: Unique identifier of the GTT order for which the order history is required
required: false
schema:
type: string
pattern: ^GTT-.+$
example: GTT-XX221130000253265
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetGttOrderResponse'
security:
- OAUTH2: []
/v3/market-quote/option-greek:
get:
tags:
- Market Quote V3
summary: Market quotes and instruments - Option Greek
description: This API provides the functionality to retrieve the Option Greek data for one or more instruments.This
API returns the Option Greek data of up to 500 instruments in one go.
operationId: getMarketQuoteOptionGreek
parameters:
- name: instrument_key
in: query
description: Comma separated list of instrument keys
required: false
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE009A01021
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - symbol is required
UDAPI1011 - symbol is of invalid format
UDAPI100011 - Invalid
Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketQuoteOptionGreekResponseV3'
security:
- OAUTH2: []
/v3/market-quote/ohlc:
get:
tags:
- Market Quote V3
summary: Market quotes and instruments - OHLC quotes
description: This API provides the functionality to retrieve the OHLC quotes for one or more instruments.This API returns
the OHLC snapshots of up to 500 instruments in one go.
operationId: getMarketQuoteOHLCV3
parameters:
- name: instrument_key
in: query
description: Comma separated list of instrument keys
required: false
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE009A01021
- name: interval
in: query
description: Interval to get ohlc data
required: true
schema:
type: string
minLength: 1
pattern: ^(1d|I1|I30)$
example: 1d
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - symbol is required
UDAPI1011 - symbol is of invalid format
UDAPI1027 - interval is
required
UDAPI1028 - Invalid interval
UDAPI100011 - Invalid Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketQuoteOHLCResponseV3'
security:
- OAUTH2: []
/v3/market-quote/ltp:
get:
tags:
- Market Quote V3
summary: Market quotes and instruments - LTP quotes.
description: This API provides the functionality to retrieve the LTP quotes for one or more instruments.This API returns
the LTPs of up to 500 instruments in one go.
operationId: getLtp
parameters:
- name: instrument_key
in: query
description: Comma separated list of instrument keys
required: false
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE009A01021
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - symbol is required
UDAPI1011 - symbol is of invalid format
UDAPI100011 - Invalid
Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketQuoteLastTradedPriceResponseV3'
security:
- OAUTH2: []
/v3/historical-candle/{instrumentKey}/{unit}/{interval}/{to_date}:
get:
tags:
- History V3
summary: Historical candle data
description: Get OHLC values for all instruments for the present trading day with expanded interval options.
operationId: getHistoricalCandleData
parameters:
- name: instrumentKey
in: path
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
- name: unit
in: path
required: true
schema:
type: string
pattern: ^(minutes|hours|days|weeks|months)$
- name: interval
in: path
required: true
schema:
type: integer
format: int32
- name: to_date
in: path
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1015 - to_date must be greater than or equal to from_date and Date should be in valid format:
yyyy-mm-dd
UDAPI1021 - Instrument key is of invalid format
UDAPI1022 - to_date is required
UDAPI1146
- Invalid unit
UDAPI1147 - Invalid interval
UDAPI100011 - Invalid Instrument key'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHistoricalCandleResponse'
/v3/historical-candle/{instrumentKey}/{unit}/{interval}/{to_date}/{from_date}:
get:
tags:
- History V3
summary: Historical candle data
description: Get OHLC values for all instruments for the present trading day with expanded interval options
operationId: getHistoricalCandleData_1
parameters:
- name: instrumentKey
in: path
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
- name: unit
in: path
required: true
schema:
type: string
pattern: ^(minutes|hours|days|weeks|months)$
- name: interval
in: path
required: true
schema:
type: integer
format: int32
- name: to_date
in: path
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
- name: from_date
in: path
required: true
schema:
type: string
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1015 - to_date must be greater than or equal to from_date and Date should be in valid format:
yyyy-mm-dd
UDAPI1021 - Instrument key is of invalid format
UDAPI1022 - to_date is required
UDAPI1146
- Invalid unit
UDAPI1147 - Invalid interval
UDAPI1148 - Invalid date range
UDAPI100011 - Invalid Instrument
key'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHistoricalCandleResponse'
/v3/historical-candle/intraday/{instrumentKey}/{unit}/{interval}:
get:
tags:
- History V3
summary: Intra day candle data
description: Get OHLC values for all instruments for the present trading day
operationId: getIntraDayCandleData
parameters:
- name: instrumentKey
in: path
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
- name: unit
in: path
required: true
schema:
type: string
pattern: ^(minutes|hours|days)$
- name: interval
in: path
required: true
schema:
type: integer
format: int32
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1021 - Instrument key is of invalid format
UDAPI1146 - Invalid unit
UDAPI1147 - Invalid
interval
UDAPI100011 - Invalid Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetIntraDayCandleResponse'
/v2/user/profile:
get:
tags:
- User
summary: Get profile
description: This API allows to fetch the complete information of the user who is logged in including the products,
order types and exchanges enabled for the user
operationId: getProfile
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetProfileResponse'
security:
- OAUTH2: []
/v2/user/payments/payout/modes:
get:
tags:
- PAYMENTS
operationId: getPayoutModes
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PayoutModesResponse'
security:
- OAUTH2: []
/v2/user/payments/payin:
get:
tags:
- PAYMENTS
operationId: getPayinHistory
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PaymentHistoryResponse'
security:
- OAUTH2: []
/v2/user/get-funds-and-margin:
get:
tags:
- User
summary: Get User Fund And Margin
description: Shows the balance of the user in equity and commodity market.
operationId: getUserFundMargin
parameters:
- name: segment
in: query
required: false
schema:
type: string
enum:
- SEC
- COM
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1019 - segment is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserFundMarginResponse'
security:
- OAUTH2: []
/v2/trade/profit-loss/metadata:
get:
tags:
- Trade Profit And Loss
summary: Get profit and loss meta data on trades
description: This API gives the data of the realised Profit and Loss report requested by a user
operationId: getTradeWiseProfitAndLossMetaData
parameters:
- name: from_date
in: query
description: Date from which data needs to be fetched. from_date and to_date should fall under the same financial
year as mentioned in financial_year attribute. Date in dd-mm-yyyy format
required: false
schema:
type: string
example: 01-04-2022
- name: to_date
in: query
description: Date till which data needs to be fetched. from_date and to_date should fall under the same financial
year as mentioned in financial_year attribute. Date in dd-mm-yyyy format
required: false
schema:
type: string
example: 31-03-2023
- name: segment
in: query
description: Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and
Options, COM - Commodity, CD - Currency Derivatives
required: true
schema:
type: string
example: EQ
- name: financial_year
in: query
description: Financial year for which data has been requested. Concatenation of last 2 digits of from year and to
year Sample:for 2021-2022, financial_year will be 2122
required: true
schema:
type: string
pattern: ^(0|[1-9][0-9]*)$
example: 2223
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1070 - The financial_year is required
UDAPI1067 - The ''segment'' is required
UDAPI1066
- The ''segment'' is invalid
UDAPI1073 - Financial year should have max length of 4
UDAPI1068 - The start_date
is required
UDAPI1069 - The end_date is required
UDAPI1105 - The provided dates do not fall within the specified
financial year
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetTradeWiseProfitAndLossMetaDataResponse'
security:
- OAUTH2: []
/v2/trade/profit-loss/data:
get:
tags:
- Trade Profit And Loss
summary: Get Trade-wise Profit and Loss Report Data
description: This API gives the data of the realised Profit and Loss report requested by a user
operationId: getTradeWiseProfitAndLossData
parameters:
- name: from_date
in: query
description: Date from which data needs to be fetched. from_date and to_date should fall under the same financial
year as mentioned in financial_year attribute. Date in dd-mm-yyyy format
required: false
schema:
type: string
example: 01-04-2022
- name: to_date
in: query
description: Date till which data needs to be fetched. from_date and to_date should fall under the same financial
year as mentioned in financial_year attribute. Date in dd-mm-yyyy format
required: false
schema:
type: string
example: 31-03-2023
- name: segment
in: query
description: Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and
Options, COM - Commodity, CD - Currency Derivatives
required: true
schema:
type: string
example: EQ
- name: financial_year
in: query
description: Financial year for which data has been requested. Concatenation of last 2 digits of from year and to
year Sample:for 2021-2022, financial_year will be 2122
required: true
schema:
type: string
pattern: ^(0|[1-9][0-9]*)$
example: 2223
- name: page_number
in: query
description: Page Number, the pages are starting from 1
required: true
schema:
type: integer
format: int32
example: 1
- name: page_size
in: query
description: Page size for pagination. The maximum page size value is obtained from P and L report metadata API.
required: true
schema:
type: integer
format: int32
maximum: 5000
minimum: 1
example: 3000
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1070 - The financial_year is required
UDAPI1071 - The page_number is required
UDAPI1072
- The page_size is required
UDAPI1067 - The ''segment'' is required
UDAPI1066 - The ''segment'' is invalid
UDAPI1073
- Financial year should have max length of 4
UDAPI1106 - The page_size should be greater than or equal to 1
UDAPI1107
- The page_size should be less than or equal to 5000>br>UDAPI1105 - The given dates are not in the mentioned financial
year
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetTradeWiseProfitAndLossDataResponse'
security:
- OAUTH2: []
/v2/trade/profit-loss/charges:
get:
tags:
- Trade Profit And Loss
summary: Get profit and loss on trades
description: This API gives the charges incurred by users for their trades
operationId: getProfitAndLossCharges
parameters:
- name: from_date
in: query
description: Date from which data needs to be fetched. from_date and to_date should fall under the same financial
year as mentioned in financial_year attribute. Date in dd-mm-yyyy format
required: false
schema:
type: string
example: 01-04-2022
- name: to_date
in: query
description: Date till which data needs to be fetched. from_date and to_date should fall under the same financial
year as mentioned in financial_year attribute. Date in dd-mm-yyyy format
required: false
schema:
type: string
example: 31-03-2023
- name: segment
in: query
description: Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and
Options, COM - Commodity, CD - Currency Derivatives
required: true
schema:
type: string
example: EQ
- name: financial_year
in: query
description: Financial year for which data has been requested. Concatenation of last 2 digits of from year and to
year Sample:for 2021-2022, financial_year will be 2122
required: true
schema:
type: string
pattern: ^(0|[1-9][0-9]*)$
example: 2223
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1067 - The ''segment'' is required
UDAPI1066 - The ''segment'' is invalid
UDAPI1068 - The
start_date is required
UDAPI1069 - The end_date is required
UDAPI1105 - The provided dates do not fall within
the specified financial year
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetProfitAndLossChargesResponse'
security:
- OAUTH2: []
/v2/portfolio/short-term-positions:
get:
tags:
- Portfolio
summary: Get Positions
description: Fetches the current positions for the user for the current day.
operationId: getPositions
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetPositionResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/portfolio/long-term-holdings:
get:
tags:
- Portfolio
summary: Get Holdings
description: Fetches the holdings which the user has bought/sold in previous trading sessions.
operationId: getHoldings
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHoldingsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/order/trades:
get:
tags:
- Order
summary: Get trades for order
description: Retrieve the trades executed for an order
operationId: getTradesByOrder
parameters:
- name: order_id
in: query
description: The order ID for which the order to get order trades
required: true
schema:
type: string
minLength: 1
pattern: ^[-a-zA-Z0-9]+
example: 12345667890
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1010 - Order id accepts only alphanumeric characters and '-'.
UDAPI1023 - Order id is required
UDAPI100010
- Unknown order id | order request rejected
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetTradeResponse'
security:
- OAUTH2: []
/v2/order/trades/get-trades-for-day:
get:
tags:
- Order
summary: Get trades
description: Retrieve the trades executed for the day
operationId: getTradeHistory
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetTradeResponse'
security:
- OAUTH2: []
/v2/order/retrieve-all:
get:
tags:
- Order
summary: Get order book
description: This API provides the list of orders placed by the user. The orders placed by the user is transient for
a day and is cleared by the end of the trading session. This API returns all states of the orders, namely, open, pending,
and filled ones.
operationId: getOrderBook
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrderBookResponse'
security:
- OAUTH2: []
/v2/order/history:
get:
tags:
- Order
summary: Get order history
description: 'This API provides the details of the particular order the user has placed. The orders placed by the user
is transient for a day and are cleared by the end of the trading session. This API returns all states of the orders,
namely, open, pending, and filled ones.
The order history can be requested either using order_id or tag.
If both the options are passed, the history of the order which precisely matches both the order_id and tag will be
returned in the response.
If only the tag is passed, the history of all the associated orders which matches the tag will be shared in the response.'
operationId: getOrderDetails
parameters:
- name: order_id
in: query
description: The order reference ID for which the order history is required
required: false
schema:
type: string
pattern: ^[-a-zA-Z0-9]+
example: 12345667890
- name: tag
in: query
description: The unique tag of the order for which the order history is being requested
required: false
schema:
type: string
example: 2qdqjppebx
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1010 - Order id accepts only alphanumeric characters and '-'
UDAPI1023 - Order id is required
UDAPI100010
- Unknown order id | order request rejected
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrderResponse'
security:
- OAUTH2: []
/v2/order/details:
get:
tags:
- Order
summary: Get order details
description: 'This API provides the recent detail of the particular order the user has placed. The orders placed by
the user is transient for a day and are cleared by the end of the trading session.\n\nThe order details can be requested
using order_id.
'
operationId: getOrderStatus
parameters:
- name: order_id
in: query
description: The order reference ID for which the order details is required
required: false
schema:
type: string
pattern: ^[-a-zA-Z0-9]+
example: 12345667890
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1010 - Order id accepts only alphanumeric characters and '-'
UDAPI1023 - Order id is required
UDAPI100010
- Unknown order id | order request rejected
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrderDetailsResponse'
security:
- OAUTH2: []
/v2/option/contract:
get:
tags:
- Options
summary: Get option contracts
description: This API provides the functionality to retrieve the option contracts
operationId: getOptionContracts
parameters:
- name: instrument_key
in: query
description: Instrument key for an underlying symbol
required: true
schema:
type: string
example: NSE_INDEX|Nifty 50
- name: expiry_date
in: query
description: 'Expiry date in format: YYYY-mm-dd'
required: false
schema:
type: string
example: '2024-02-01'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetOptionContractResponse'
security:
- OAUTH2: []
/v2/option/chain:
get:
tags:
- Options
summary: Get option chain
description: This API provides the functionality to retrieve the option chain
operationId: getPutCallOptionChain
parameters:
- name: instrument_key
in: query
description: Instrument key for an underlying symbol
required: true
schema:
type: string
example: NSE_INDEX|Nifty 50
- name: expiry_date
in: query
description: 'Expiry date in format: YYYY-mm-dd'
required: true
schema:
type: string
example: '2024-02-01'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetOptionChainResponse'
security:
- OAUTH2: []
/v2/news:
get:
tags:
- News
summary: Get News
description: Fetches news articles for the given instrument keys, or the user's current positions or holdings.
operationId: getNews
parameters:
- name: category
in: query
description: 'Category of news to fetch. Allowed values: instrument_keys, positions, holdings'
required: true
schema:
type: string
example: instrument_keys
- name: instrument_keys
in: query
description: Comma-separated list of instrument keys. Required when category is instrument_keys.
required: false
schema:
type: string
example: NSE_EQ|INE002A01018,NSE_EQ|INE669E01016
- name: page_number
in: query
description: Page number for pagination
required: false
schema:
type: integer
format: int32
default: 1
maximum: 100
minimum: 1
example: 1
- name: page_size
in: query
description: Number of records per page
required: false
schema:
type: integer
format: int32
default: 100
maximum: 100
minimum: 1
example: 100
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1189 - Invalid category. Allowed values: instrument_keys, positions, holdings.
UDAPI1190 -
instrument_keys is required when category is instrument_keys.
UDAPI1193 - News can be fetched for a maximum
of 30 instrument keys per request.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetNewsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/mf/sips:
get:
tags:
- Mutual Fund
summary: Get mutual fund SIPs
description: Returns active and paused SIP orders for the authenticated user.
operationId: getMutualFundSips
parameters:
- name: page_number
in: query
description: Page number for pagination.
required: false
schema:
type: integer
format: int32
default: 1
example: 1
- name: records
in: query
description: no of records in a single page
required: false
schema:
type: integer
format: int32
default: 10
example: 20
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Business error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMutualFundSipsResponse'
security:
- OAUTH2: []
/v2/mf/orders:
get:
tags:
- Mutual Fund
summary: Get mutual fund orders
description: Returns mutual fund orders from the last 7 days for the authenticated user.
operationId: getMutualFundOrders
parameters:
- name: status
in: query
description: Mutual fund order status
required: false
schema:
type: string
default: ALL
pattern: ^(ALL|ARCHIVED|NEW|PENDING|OPEN|INPROCESS|COMPLETED|PLACED|REJECTED|CREATED|PAYMENT_PENDING|FAILED|CANCELLED|VERIFIED)$
example: PENDING
- name: transaction_type
in: query
description: Mutual fund order transaction type
required: false
schema:
type: string
default: ALL
example: BUY
- name: page_number
in: query
description: Page number for pagination.
required: false
schema:
type: integer
format: int32
default: 1
example: 1
- name: records
in: query
description: no of records in a single page
required: false
schema:
type: integer
format: int32
default: 10
example: 20
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Business error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMutualFundOrdersResponse'
security:
- OAUTH2: []
/v2/mf/orders/{order_id}:
get:
tags:
- Mutual Fund
summary: Get mutual fund order by id
description: Returns a single mutual fund order by order id.
operationId: getMutualFundOrder
parameters:
- name: order_id
in: path
description: Mutual fund order id
required: true
schema:
type: string
pattern: ^[-a-zA-Z0-9]+
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Business error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMutualFundOrderDetailsResponse'
security:
- OAUTH2: []
/v2/mf/holdings:
get:
tags:
- Mutual Fund
summary: Get mutual fund holdings
description: Returns mutual fund holdings for the authenticated user.
operationId: getMutualFundHoldings
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Business error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMutualFundHoldingsResponse'
security:
- OAUTH2: []
/v2/market/timings/{date}:
get:
tags:
- Market Holidays and Timings
summary: Get Exchange Timings on particular date
description: This API provides the functionality to retrieve the exchange timings on particular date
operationId: getExchangeTimings
parameters:
- name: date
in: path
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetExchangeTimingResponse'
/v2/market/status/{exchange}:
get:
tags:
- Market Holidays and Timings
summary: Get Market status for particular exchange
description: This API provides the functionality to retrieve the market status for particular exchange
operationId: getMarketStatus
parameters:
- name: exchange
in: path
required: true
schema:
type: string
pattern: ^(\s*|(?:NSE|NFO|CDS|BSE|BFO|BCD|MCX|NSCOM)+)$
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketStatusResponse'
security:
- OAUTH2: []
/v2/market/smartlist/options:
get:
tags:
- Market Holidays and Timings
summary: Get Smartlist Options
description: Fetches the smartlist of options for the given asset type and category.
operationId: getSmartlistOptions
parameters:
- name: asset_type
in: query
description: 'Asset type. Allowed values: INDEX, STOCK, COMMODITY'
required: false
schema:
type: string
example: INDEX
- name: category
in: query
description: 'Category. Allowed values: TOP_TRADED, MOST_ACTIVE, OI_GAINERS, OI_LOSERS, PRICE_GAINERS, PRICE_LOSERS,
IV_GAINERS, IV_LOSERS, UNDER_5000, UNDER_10000 (COMMODITY supports only: TOP_TRADED, MOST_ACTIVE, OI_GAINERS, OI_LOSERS)'
required: false
schema:
type: string
example: TOP_TRADED
- name: page_number
in: query
description: Page number (optional, 1-indexed)
required: false
schema:
type: integer
format: int32
example: 1
- name: page_size
in: query
description: Page size (optional, max 50)
required: false
schema:
type: integer
format: int32
example: 20
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1212 - Invalid asset_type.
UDAPI1213 - Invalid category for the given asset_type.
UDAPI1214
- Invalid page_size. Maximum allowed value is 50.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/smartlist/mtf:
get:
tags:
- Market Holidays and Timings
summary: Get Smartlist MTF
description: Fetches the smartlist of MTF (Margin Trade Funding) stocks. Prices are enriched with live LTP data.
operationId: getSmartlistMtf
parameters:
- name: page_number
in: query
description: Page number (optional, 1-indexed)
required: false
schema:
type: integer
format: int32
example: 1
- name: page_size
in: query
description: Page size (optional, max 50)
required: false
schema:
type: integer
format: int32
example: 20
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1214 - Invalid page_size. Maximum allowed value is 50.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/smartlist/futures:
get:
tags:
- Market Holidays and Timings
summary: Get Smartlist Futures
description: Fetches the smartlist of futures for the given asset type and category.
operationId: getSmartlistFutures
parameters:
- name: asset_type
in: query
description: 'Asset type. Allowed values: INDEX, STOCK, COMMODITY'
required: false
schema:
type: string
example: INDEX
- name: category
in: query
description: 'Category. Allowed values: TOP_TRADED, MOST_ACTIVE, OI_GAINERS, OI_LOSERS, PRICE_GAINERS, PRICE_LOSERS,
PREMIUM, DISCOUNT (COMMODITY supports only: TOP_TRADED, MOST_ACTIVE, OI_GAINERS, OI_LOSERS)'
required: false
schema:
type: string
example: TOP_TRADED
- name: page_number
in: query
description: Page number (optional, 1-indexed)
required: false
schema:
type: integer
format: int32
example: 1
- name: page_size
in: query
description: Page size (optional, max 50)
required: false
schema:
type: integer
format: int32
example: 20
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1212 - Invalid asset_type.
UDAPI1213 - Invalid category for the given asset_type.
UDAPI1214
- Invalid page_size. Maximum allowed value is 50.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/pcr:
get:
tags:
- Market Holidays and Timings
summary: Get PCR Data
description: Fetches PCR (Put-Call Ratio) data for the given instrument key, expiry, date and bucket interval.
operationId: getPcrData
parameters:
- name: instrument_key
in: query
description: Underlying asset instrument key
required: true
schema:
type: string
example: NSE_INDEX|Nifty 50
- name: expiry
in: query
description: Expiry date in YYYY-MM-DD format
required: true
schema:
type: string
example: '2026-05-19'
- name: date
in: query
description: Date in YYYY-MM-DD format for which PCR data is required
required: true
schema:
type: string
example: '2026-05-06'
- name: bucket_interval
in: query
description: Bucket interval in minutes for the insights list
required: true
schema:
type: integer
format: int32
example: 15
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI100011 - Invalid instrument_key.
UDAPI1202 - Invalid expiry format.
UDAPI1203 - Invalid
date format.
UDAPI1205 - Invalid bucket_interval.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/oi:
get:
tags:
- Market Holidays and Timings
summary: Get OI Data
description: Fetches OI data for the given instrument key, expiry and date.
operationId: getOiData
parameters:
- name: instrument_key
in: query
description: Underlying asset instrument key
required: true
schema:
type: string
example: NSE_INDEX|Nifty 50
- name: expiry
in: query
description: Expiry date in YYYY-MM-DD format
required: true
schema:
type: string
example: '2026-05-19'
- name: date
in: query
description: Date in YYYY-MM-DD format for which OI data is required
required: true
schema:
type: string
example: '2026-05-06'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI100011 - Invalid instrument_key.
UDAPI1202 - Invalid expiry format.
UDAPI1203 - Invalid
date format.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/max-pain:
get:
tags:
- Market Holidays and Timings
summary: Get Max Pain Data
description: Fetches Max Pain data for the given instrument key, expiry, date and bucket interval.
operationId: getMaxPainData
parameters:
- name: instrument_key
in: query
description: Underlying asset instrument key
required: true
schema:
type: string
example: NSE_INDEX|Nifty 50
- name: expiry
in: query
description: Expiry date in YYYY-MM-DD format
required: true
schema:
type: string
example: '2026-05-19'
- name: date
in: query
description: Date in YYYY-MM-DD format for which Max Pain data is required
required: true
schema:
type: string
example: '2026-05-06'
- name: bucket_interval
in: query
description: Bucket interval in minutes for the insights list
required: true
schema:
type: integer
format: int32
example: 15
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI100011 - Invalid instrument_key.
UDAPI1202 - Invalid expiry format.
UDAPI1203 - Invalid
date format.
UDAPI1205 - Invalid bucket_interval.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/holidays:
get:
tags:
- Market Holidays and Timings
summary: Get Holiday list of current year
description: This API provides the functionality to retrieve the holiday list of current year
operationId: getHolidays
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHolidayResponse'
/v2/market/holidays/{date}:
get:
tags:
- Market Holidays and Timings
summary: Get Holiday on particular date
description: This API provides the functionality to retrieve the holiday on particular date
operationId: getHoliday
parameters:
- name: date
in: path
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHolidayResponse'
/v2/market/fii:
get:
tags:
- Market Holidays and Timings
summary: Get FII Data
description: Fetches FII activity data for the given data type and interval.
operationId: getFiiData
parameters:
- name: data_type
in: query
description: 'Data type. Allowed values: NSE_FO|INDEX_FUTURES, NSE_FO|STOCK_FUTURES, NSE_FO|INDEX_OPTIONS, NSE_FO|STOCK_OPTIONS,
NSE_EQ|CASH'
required: true
schema:
type: string
example: NSE_FO|INDEX_FUTURES
- name: interval
in: query
description: 'Interval. Allowed values: 1D, 1M'
required: true
schema:
type: string
example: 1D
- name: from
in: query
description: Start date in YYYY-MM-DD format (optional)
required: false
schema:
type: string
example: '2024-01-01'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1198 - Invalid data_type.
UDAPI1199 - Invalid interval.
UDAPI1200 - Invalid from date format.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/dii:
get:
tags:
- Market Holidays and Timings
summary: Get DII Data
description: Fetches DII activity data for the given interval.
operationId: getDiiData
parameters:
- name: data_type
in: query
description: 'Data type. Allowed value: NSE_EQ|CASH'
required: true
schema:
type: string
example: NSE_EQ|CASH
- name: interval
in: query
description: 'Interval. Allowed values: 1D, 1M'
required: true
schema:
type: string
example: 1D
- name: from
in: query
description: Start date in YYYY-MM-DD format (optional)
required: false
schema:
type: string
example: '2024-01-01'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1198 - Invalid data_type. Allowed value: NSE_EQ|CASH.
UDAPI1199 - Invalid interval.
UDAPI1200
- Invalid from date format.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market/change-oi:
get:
tags:
- Market Holidays and Timings
summary: Get Change in OI Data
description: Fetches change in OI data for the given instrument key, expiry, date and interval.
operationId: getChangeOiData
parameters:
- name: instrument_key
in: query
description: Underlying asset instrument key
required: true
schema:
type: string
example: NSE_INDEX|Nifty 50
- name: expiry
in: query
description: Expiry date in YYYY-MM-DD format
required: true
schema:
type: string
example: '2026-05-19'
- name: date
in: query
description: Date in YYYY-MM-DD format for which change OI data is required
required: true
schema:
type: string
example: '2026-05-06'
- name: interval
in: query
description: Number of days for which difference in OI is required
required: true
schema:
type: integer
format: int32
example: 2
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI100011 - Invalid instrument_key.
UDAPI1202 - Invalid expiry format.
UDAPI1203 - Invalid
date format.
UDAPI1204 - Invalid interval.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/market-quote/quotes:
get:
tags:
- Market Quote
summary: Market quotes and instruments - Full market quotes
description: This API provides the functionality to retrieve the full market quotes for one or more instruments.This
API returns the complete market data snapshot of up to 500 instruments in one go.
operationId: getFullMarketQuote
parameters:
- name: symbol
in: query
description: Comma separated list of symbols
required: false
deprecated: true
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE848E01039
- name: instrument_key
in: query
description: Comma separated list of instrument keys
required: false
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE848E01039
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - symbol is required
UDAPI1011 - symbol is of invalid format
UDAPI100011 - Invalid
Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetFullMarketQuoteResponse'
security:
- OAUTH2: []
/v2/market-quote/ohlc:
get:
tags:
- Market Quote
summary: Market quotes and instruments - OHLC quotes
description: This API provides the functionality to retrieve the OHLC quotes for one or more instruments.This API returns
the OHLC snapshots of up to 1000 instruments in one go.
operationId: getMarketQuoteOHLC
parameters:
- name: symbol
in: query
description: Comma separated list of symbols
required: false
deprecated: true
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE848E01039
- name: instrument_key
in: query
description: Comma separated list of instrument keys
required: false
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE848E01039
- name: interval
in: query
description: Interval to get ohlc data
required: true
schema:
type: string
minLength: 1
pattern: ^(1d|I1|I30)$
example: 1d
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - symbol is required
UDAPI1011 - symbol is of invalid format
UDAPI1027 - interval is
required
UDAPI1028 - Invalid interval
UDAPI100011 - Invalid Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketQuoteOHLCResponse'
security:
- OAUTH2: []
/v2/market-quote/ltp:
get:
tags:
- Market Quote
summary: Market quotes and instruments - LTP quotes.
description: This API provides the functionality to retrieve the LTP quotes for one or more instruments.This API returns
the LTPs of up to 1000 instruments in one go.
operationId: ltp
parameters:
- name: symbol
in: query
description: Comma separated list of symbols
required: false
deprecated: true
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE848E01039
- name: instrument_key
in: query
description: Comma separated list of instrument keys
required: false
schema:
type: string
example: NSE_EQ|INE848E01016,NSE_EQ|INE848E01039
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - symbol is required
UDAPI1011 - symbol is of invalid format
UDAPI100011 - Invalid
Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketQuoteLastTradedPriceResponse'
security:
- OAUTH2: []
/v2/login/authorization/dialog:
get:
tags:
- Login
summary: Authorize API
description: This provides details on the login endpoint.
operationId: authorize
parameters:
- name: client_id
in: query
required: true
schema:
type: string
minLength: 1
- name: redirect_uri
in: query
required: true
schema:
type: string
minLength: 1
- name: state
in: query
required: false
schema:
type: string
- name: scope
in: query
required: false
schema:
type: string
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1018 - Redirect URI is required
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'302':
description: Successful Operation
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
/v2/ipos:
get:
tags:
- IPO
summary: Get IPO Listing
description: Fetches list of IPOs filtered by status.
operationId: getIpoListing
parameters:
- name: status
in: query
description: IPO status to filter by
required: false
schema:
type: string
enum:
- open
- closed
- listed
- upcoming
example: open
pattern: ^(open|closed|listed|upcoming)$
- name: issue_type
in: query
description: Issue type filter. `regular` is a mainboard issue. Returns both when omitted
required: false
schema:
type: string
enum:
- regular
- sme
example: regular
pattern: ^(regular|sme)$
- name: page_number
in: query
description: Page number, starting at 1
required: false
schema:
type: string
example: 1
minimum: 1
- name: records
in: query
description: Number of records per page
required: false
schema:
type: string
example: 20
maximum: 30
minimum: 1
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Invalid status or issue_type.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IpoListingResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/ipos/{id}:
get:
tags:
- IPO
summary: Get IPO Details
description: Fetches detailed information for an IPO by its slug ID.
operationId: getIpoDetails
parameters:
- name: id
in: path
description: IPO id (slug), as returned in `id` by the IPO listing API
required: true
schema:
type: string
example: mandb-engineering-limited-ipo
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Invalid IPO ID.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IpoDetailsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/ipos/orders/{order_id}:
get:
tags:
- IPO
summary: Get IPO Order
description: Fetches a single IPO order of the authenticated user by order id.
operationId: getIpoOrderById
parameters:
- name: order_id
in: path
description: IPO application id, as returned in `order_id` by the apply and orders APIs
required: true
schema:
type: string
example: UPROYAL00000003
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IpoOrderDetailResponse'
'404':
description: Order not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
delete:
tags:
- IPO
summary: Cancel IPO Order
description: Cancels/deletes an IPO order of the authenticated user by order id.
operationId: cancelIpoOrder
parameters:
- name: order_id
in: path
description: IPO application id, as returned in `order_id` by the apply and orders APIs
required: true
schema:
type: string
example: UPROYAL00000003
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IpoCancelResponse'
'404':
description: Order not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/instruments/search:
get:
tags:
- Instruments
summary: Search instruments
description: This API provides the functionality to retrieve the instrument details for searched query
operationId: searchInstrument
parameters:
- name: query
in: query
description: natural language query
required: true
schema:
type: string
minLength: 1
example: RELIANCE 1500 PE
- name: exchanges
in: query
description: Comma separated exchanges
required: false
schema:
type: string
pattern: ^(ALL|NSE|BSE|MCX)(,(ALL|NSE|BSE|MCX))*$
example: NSE,BSE,MCX
- name: segments
in: query
description: Comma separated segments
required: false
schema:
type: string
pattern: ^(ALL|EQ|FO|CURR|COMM|INDEX|OPT|FUT|OPTION_CHAIN)(,(ALL|EQ|FO|CURR|COMM|INDEX|OPT|FUT|OPTION_CHAIN))*$
example: EQ,FO,CURR,COMM
- name: instrument_types
in: query
description: Comma separated instrument types
required: false
schema:
type: string
example: CE,PE
- name: expiry
in: query
description: 'expiry in format: yyyy-MM-dd'
required: false
schema:
type: string
example: '2025-12-28'
- name: atm_offset
in: query
description: page number greater than or equal to 1
required: false
schema:
type: integer
format: int32
example: 2
- name: page_number
in: query
description: ATM offset number for queries like ATM, ATM+1, ATM-1, etc.
required: false
schema:
type: integer
format: int32
default: 1
example: 1
- name: records
in: query
description: no of records in a single page
required: false
schema:
type: integer
format: int32
default: 10
example: 20
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/SearchInstrumentResponse'
security:
- OAUTH2: []
/v2/historical-candle/{instrumentKey}/{interval}/{to_date}:
get:
tags:
- History
summary: Historical candle data
description: 'Get OHLC values for all instruments across various timeframes. Historical data can be fetched for the
following durations.
1minute: last 1 month candles till endDate
30minute: last 1 year candles till endDate
day: last 1 year candles till endDate
week: last 10 year candles till endDate
month: last 10 year candles till endDate'
operationId: getHistoricalCandleData_2
parameters:
- name: instrumentKey
in: path
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
- name: interval
in: path
required: true
schema:
type: string
pattern: ^(1minute|30minute|day|week|month)$
- name: to_date
in: path
required: true
schema:
type: string
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1015 - to_date must be greater than or equal to from_date and Date should be in valid format:
yyyy-mm-dd
UDAPI1020 - Interval accepts one of (1minute,30minute,day,week,month)
UDAPI1021 - Instrument
key is of invalid format
UDAPI1022 - to_date is required
UDAPI100011 - Invalid Instrument key'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHistoricalCandleResponse'
/v2/historical-candle/{instrumentKey}/{interval}/{to_date}/{from_date}:
get:
tags:
- History
summary: Historical candle data
description: 'Get OHLC values for all instruments across various timeframes. Historical data can be fetched for the
following durations.
1minute: last 1 month candles till endDate
30minute: last 1 year candles till endDate
day: last 1 year candles till endDate
week: last 10 year candles till endDate
month: last 10 year candles till endDate'
operationId: getHistoricalCandleData_3
parameters:
- name: instrumentKey
in: path
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
- name: interval
in: path
required: true
schema:
type: string
pattern: ^(1minute|30minute|day|week|month)$
- name: to_date
in: path
required: true
schema:
type: string
- name: from_date
in: path
required: true
schema:
type: string
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1015 - to_date must be greater than or equal to from_date and Date should be in valid format:
yyyy-mm-dd
UDAPI1020 - Interval accepts one of (1minute,30minute,day,week,month)
UDAPI1021 - Instrument
key is of invalid format
UDAPI1022 - to_date is required
UDAPI100011 - Invalid Instrument key'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHistoricalCandleResponse'
/v2/historical-candle/intraday/{instrumentKey}/{interval}:
get:
tags:
- History
summary: Intra day candle data
description: Get OHLC values for all instruments for the present trading day
operationId: getIntraDayCandleData_1
parameters:
- name: instrumentKey
in: path
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
- name: interval
in: path
required: true
schema:
type: string
pattern: ^(1minute|30minute)$
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1076 - Interval accepts one of (1minute,30minute)
UDAPI1021 - Instrument key is of invalid
format
UDAPI100011 - Invalid Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetIntraDayCandleResponse'
/v2/fundamentals/{isin}/share-holdings:
get:
tags:
- Fundamentals
summary: Get Share Holdings
description: Fetches shareholding pattern for the given ISIN.
operationId: getShareHoldings
parameters:
- name: isin
in: path
description: ISIN of the company
required: true
schema:
type: string
pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
example: INE002A01018
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1206 - Invalid ISIN.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/ShareHoldingsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/fundamentals/{isin}/profile:
get:
tags:
- Fundamentals
summary: Get Company Profile
description: Fetches company profile information for the given ISIN.
operationId: getCompanyProfile
parameters:
- name: isin
in: path
description: ISIN of the company
required: true
schema:
type: string
pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
example: INE002A01018
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1206 - Invalid ISIN.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyProfileResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/fundamentals/{isin}/key-ratios:
get:
tags:
- Fundamentals
summary: Get Key Ratios
description: Fetches key financial ratios for the given ISIN.
operationId: getKeyRatios
parameters:
- name: isin
in: path
description: ISIN of the company
required: true
schema:
type: string
pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
example: INE002A01018
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1206 - Invalid ISIN.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/KeyRatiosResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/fundamentals/{isin}/income-statement:
get:
tags:
- Fundamentals
summary: Get Income Statement
description: Fetches income statement data for the given ISIN.
operationId: getIncomeStatement
parameters:
- name: isin
in: path
description: ISIN of the company
required: true
schema:
type: string
pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
example: INE002A01018
- name: type
in: query
description: 'Report type. Allowed values: consolidated or standalone'
required: false
schema:
type: string
default: consolidated
pattern: ^(consolidated|standalone)$
example: consolidated
- name: time_period
in: query
description: 'Time period. Allowed values: yearly, quarterly'
required: false
schema:
type: string
default: yearly
pattern: ^(yearly|quarterly)$
example: yearly
- name: fs
in: query
description: Whether to include the full financial statement
required: false
schema:
type: boolean
default: false
example: false
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1206 - Invalid ISIN.
UDAPI1207 - Invalid type. Allowed values: consolidated, standalone.
UDAPI1208
- Invalid time period. Allowed values: yearly, quarterly.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IncomeStatementResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/fundamentals/{isin}/corporate-actions:
get:
tags:
- Fundamentals
summary: Get Corporate Actions
description: Fetches corporate actions for the given ISIN.
operationId: getCorporateActions
parameters:
- name: isin
in: path
description: ISIN of the company
required: true
schema:
type: string
pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
example: INE002A01018
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1206 - Invalid ISIN.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/CorporateActionsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/fundamentals/{isin}/cash-flow:
get:
tags:
- Fundamentals
summary: Get Cash Flow
description: Fetches cash flow data for the given ISIN.
operationId: getCashFlow
parameters:
- name: isin
in: path
description: ISIN of the company
required: true
schema:
type: string
pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
example: INE002A01018
- name: type
in: query
description: 'Report type. Allowed values: consolidated, standalone'
required: false
schema:
type: string
default: consolidated
pattern: ^(consolidated|standalone)$
example: consolidated
- name: fs
in: query
description: Whether to include the full financial statement
required: false
schema:
type: boolean
default: false
example: false
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1206 - Invalid ISIN.
UDAPI1207 - Invalid type. Allowed values: consolidated, standalone.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/CashFlowResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/fundamentals/{isin}/balance-sheet:
get:
tags:
- Fundamentals
summary: Get Balance Sheet
description: Fetches balance sheet data for the given ISIN.
operationId: getBalanceSheet
parameters:
- name: isin
in: path
description: ISIN of the company
required: true
schema:
type: string
pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
example: INE002A01018
- name: type
in: query
description: 'Report type. Allowed values: consolidated or standalone'
required: false
schema:
type: string
default: consolidated
pattern: ^(consolidated|standalone)$
example: consolidated
- name: fs
in: query
description: Whether to include the full financial statement
required: false
schema:
type: boolean
default: false
example: false
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1206 - Invalid ISIN.
UDAPI1207 - Invalid type. Allowed values: consolidated, standalone.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceSheetResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/fundamentals/{instrument_key}/competitors:
get:
tags:
- Fundamentals
summary: Get Competitors
description: Fetches the list of competitors for the given instrument_key.
operationId: getCompetitors
parameters:
- name: instrument_key
in: path
description: Instrument key of the company
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
example: NSE_EQ|INE002A01018
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI100011 - Invalid Instrument key.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/CompetitorsResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
security:
- OAUTH2: []
/v2/feed/portfolio-stream-feed:
get:
tags:
- Websocket
summary: Portfolio Stream Feed
description: This API redirects the client to the respective socket endpoint to receive Portfolio updates.
operationId: getPortfolioStreamFeed
parameters:
- name: update_types
in: query
description: Identifiers separated by commas denote the types of updates to receive.
required: false
schema:
type: string
pattern: ^(order|gtt_order|position|holding)(,(order|gtt_order|position|holding))*$
example: order,gtt_order,position,holding
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'302':
description: Location for authorized access of portfolio stream feed
security:
- OAUTH2: []
/v2/feed/portfolio-stream-feed/authorize:
get:
tags:
- Websocket
summary: Portfolio Stream Feed Authorize
description: ' This API provides the functionality to retrieve the socket endpoint URI for Portfolio updates.'
operationId: getPortfolioStreamFeedAuthorize
parameters:
- name: update_types
in: query
description: Identifiers separated by commas denote the types of updates to receive.
required: false
schema:
type: string
pattern: ^(order|gtt_order|position|holding)(,(order|gtt_order|position|holding))*$
example: order,gtt_order,position,holding
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketAuthRedirectResponse'
security:
- OAUTH2: []
/v2/feed/market-data-feed:
get:
tags:
- Websocket
summary: Market Data Feed
description: ' This API redirects the client to the respective socket endpoint to receive Market updates.'
operationId: getMarketDataFeed
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'302':
description: Location for authorized access of market data feed
security:
- OAUTH2: []
/v2/feed/market-data-feed/authorize:
get:
tags:
- Websocket
summary: Market Data Feed Authorize
description: This API provides the functionality to retrieve the socket endpoint URI for Market updates.
operationId: getMarketDataFeedAuthorize
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketAuthRedirectResponse'
security:
- OAUTH2: []
/v2/expired-instruments/option/contract:
get:
tags:
- Expired Instrument
summary: Get expired option contracts
description: This API provides the functionality to retrieve the expired option contracts
operationId: getExpiredOptionContracts
parameters:
- name: instrument_key
in: query
description: Instrument key for an underlying symbol
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
example: NSE_INDEX|Nifty 50
- name: expiry_date
in: query
description: 'Expiry date in format: YYYY-mm-dd'
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
example: '2024-02-01'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetOptionContractResponse'
security:
- OAUTH2: []
/v2/expired-instruments/historical-candle/{expired_instrument_key}/{interval}/{to_date}/{from_date}:
get:
tags:
- Expired Instrument
summary: Expired Historical candle data
description: 'Get Expired OHLC values for all instruments across various timeframes. Expired Historical data can be
fetched for the following durations.
1minute: last 1 month candles till endDate
30minute: last 1 year candles till endDate
day: last 1 year candles till endDate
week: last 10 year candles till endDate
month: last 10 year candles till endDate'
operationId: getExpiredHistoricalCandleData
parameters:
- name: expired_instrument_key
in: path
description: Expired Instrument Key of asset
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM)\|[\w\d\-]+\|(0[1-9]|[12]\d|3[01])-(0[1-9]|1[012])-(\d{4})$
example: NSE_EQ|INE848E01016|24-04-2025
- name: interval
in: path
description: Interval to get expired ohlc data
required: true
schema:
type: string
pattern: ^(1minute|3minute|5minute|15minute|30minute|day)$
example: day
- name: to_date
in: path
description: to date
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
example: '2025-01-01'
- name: from_date
in: path
description: from date
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
example: '2024-01-01'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: 'UDAPI1015 - to_date must be greater than or equal to from_date and Date should be in valid format:
yyyy-mm-dd
UDAPI1020 - Interval accepts one of (1minute,30minute,day,week,month)
UDAPI1021 - Instrument
key is of invalid format
UDAPI1022 - to_date is required
UDAPI100011 - Invalid Instrument key'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetHistoricalCandleResponse'
security:
- OAUTH2: []
/v2/expired-instruments/future/contract:
get:
tags:
- Expired Instrument
summary: Expired instruments - Get future contracts
description: This API provides the functionality to retrieve expired future contracts for a given instrument key and
expiry date.
operationId: getExpiredFutureContracts
parameters:
- name: instrument_key
in: query
description: Instrument Key of asset
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
example: NSE_EQ|INE848E01016
- name: expiry_date
in: query
description: Expiry date of the instrument
required: true
schema:
type: string
pattern: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
example: '2023-10-05'
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - instrument_key is required
UDAPI1011 - instrument_key is of invalid format
UDAPI100011
- Invalid Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetExpiredFuturesContractResponse'
security:
- OAUTH2: []
/v2/expired-instruments/expiries:
get:
tags:
- Expired Instrument
summary: Expired instruments - Get expiries
description: This API provides the functionality to retrieve expiry dates for a given instrument key.
operationId: getExpiriesResponse
parameters:
- name: instrument_key
in: query
description: Instrument Key of asset
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
example: NSE_EQ|INE848E01016
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1009 - instrument_key is required
UDAPI1011 - instrument_key is of invalid format
UDAPI100011
- Invalid Instrument key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetExpiriesResponse'
security:
- OAUTH2: []
/v2/charges/historical-trades:
get:
tags:
- Post Trade
summary: Get historical trades
description: This API retrieves the trade history for a specified time interval.
operationId: getTradesByDateRange
parameters:
- name: segment
in: query
description: Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and
Options, COM - Commodity, CD - Currency Derivatives MF - Mutual Funds
required: false
schema:
type: string
default: ''
example: EQ
- name: start_date
in: query
description: Date from which trade history needs to be fetched. Date in YYYY-mm-dd format
required: true
schema:
type: string
example: '2022-04-01'
- name: end_date
in: query
description: Date till which history needs needs to be fetched. Date in YYYY-mm-dd format
required: true
schema:
type: string
example: '2023-03-31'
- name: page_number
in: query
description: 'Page number for which you want to fetch trade history '
required: true
schema:
type: integer
format: int32
minimum: 1
example: 1
- name: page_size
in: query
description: 'How many records you want for a page '
required: true
schema:
type: integer
format: int32
maximum: 5000
minimum: 1
example: 100
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/TradeHistoryResponse'
security:
- OAUTH2: []
/v2/charges/brokerage:
get:
tags:
- Charge
summary: Brokerage details
description: Compute Brokerage Charges
operationId: getBrokerage
parameters:
- name: instrument_token
in: query
description: Key of the instrument
required: true
schema:
type: string
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
example: NSE_EQ|INE848E01016
- name: quantity
in: query
description: Quantity with which the order is to be placed
required: true
schema:
type: integer
format: int32
minimum: 0
example: 10
- name: product
in: query
description: Product with which the order is to be placed
required: true
schema:
type: string
example: I
- name: transaction_type
in: query
description: Indicates whether its a BUY or SELL order
required: true
schema:
type: string
example: BUY
- name: price
in: query
description: Price with which the order is to be placed
required: true
schema:
type: number
format: float
minimum: 0
example: 123.1
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1060 - The quantity is required
UDAPI1061 - The price is required
UDAPI1062 - The transaction_type
is required
UDAPI1063 - The product is required
UDAPI1064 - The quantity cannot be zero
UDAPI1065 -
The price cannot be zero
UDAPI1059 - The instrument_token is of invalid format
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GetBrokerageResponse'
security:
- OAUTH2: []
/v3/order/gtt/cancel:
delete:
tags:
- Order
summary: Cancel GTT order
description: This API allows you to cancel GTT orders.
operationId: cancelGTTOrder
parameters:
- name: Origin
in: header
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GttCancelOrderRequest'
required: true
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/GttTriggerOrderResponse'
security:
- OAUTH2: []
/v3/order/cancel:
delete:
tags:
- Order
operationId: cancelOrder
parameters:
- name: order_id
in: query
required: true
schema:
type: string
minLength: 1
pattern: ^[-a-zA-Z0-9]+
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/CancelOrderV3Response'
security:
- OAUTH2: []
/v2/order/multi/cancel:
delete:
tags:
- Order
summary: Cancel multi order
description: API to cancel all the open or pending orders which can be applied to both AMO and regular orders.
operationId: cancelMultiOrder
parameters:
- name: tag
in: query
description: The tag associated with the orders for which the orders must be cancelled
required: false
schema:
type: string
- name: segment
in: query
description: The segment for which the orders must be cancelled
required: false
schema:
type: string
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1105 - Invalid segment
UDAPI1108 - No open or pending order available
UDAPI1109 - Available
open or pending orders should not be more than limit
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/CancelOrExitMultiOrderResponse'
security:
- OAUTH2: []
/v2/order/cancel:
delete:
tags:
- Order
summary: Cancel order
description: 'Cancel order API can be used for two purposes:
Cancelling an open order which could be an AMO or a normal order
It is also used to EXIT a CO or OCO(bracket order)'
operationId: cancelOrder_1
parameters:
- name: order_id
in: query
description: The order ID for which the order must be cancelled
required: true
schema:
type: string
minLength: 1
pattern: ^[-a-zA-Z0-9]+
example: 12345667890
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: UDAPI1010 - Order id accepts only alphanumeric characters and '-'.
UDAPI1023 - Order id is required
UDAPI100010
- Unknown order id | order request rejected
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/CancelOrderResponse'
security:
- OAUTH2: []
/v2/logout:
delete:
tags:
- Login
summary: Logout
description: Logout
operationId: logout
responses:
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'423':
description: Locked
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'422':
description: Unprocessable Entity
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ApiGatewayErrorResponse'
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/LogoutResponse'
'401':
description: Authorization Failure
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthClientException'
security:
- OAUTH2: []
components:
schemas:
ApiGatewayErrorResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
errors:
type: array
items:
$ref: '#/components/schemas/Problem'
Problem:
type: object
properties:
errorCode:
type: string
deprecated: true
description: Unique code for the error state
message:
type: string
description: Verbose message for the error state
propertyPath:
type: string
deprecated: true
description: Path to property failing validation
invalidValue:
deprecated: true
description: Invalid value for the property failing validation
error_code:
type: string
property_path:
type: string
invalid_value: {}
ModifyOrderRequest:
type: object
properties:
quantity:
type: integer
format: int32
description: Quantity with which the order was placed
example: 1
validity:
type: string
description: Order validity (DAY- Day and IOC- Immediate or Cancel (IOC) order)
enum:
- DAY
- IOC
example: DAY
price:
type: number
format: float
description: Price at which the order was placed
example: 120.01
order_id:
type: string
description: The order ID for which the order must be modified
example: 1644490272000
order_type:
type: string
description: 'Type of order. It can be one of the following
MARKET refers to market order
LIMILT refers to Limit Order
SL refers to Stop Loss Limit
SL-M refers to Stop Loss Market'
enum:
- MARKET
- LIMIT
- SL
- SL-M
example: MARKET
disclosed_quantity:
type: integer
format: int32
description: The quantity that should be disclosed in the market depth
example: 0
trigger_price:
type: number
format: float
description: If the order is a stop loss order then the trigger price to be set is mentioned here
example: 0
required:
- order_id
- order_type
- price
- trigger_price
- validity
ModifyOrderData:
type: object
properties:
order_id:
type: string
description: Order ID
example: 1644490272000
readOnly: true
ModifyOrderV3Response:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/ModifyOrderData'
metadata:
$ref: '#/components/schemas/OrderMetadata'
OrderMetadata:
type: object
properties:
latency:
type: integer
format: int64
GttModifyOrderRequest:
type: object
properties:
type:
type: string
description: 'Type of GTT order. It can be one of the following:
SINGLE refers to a single-leg GTT order
MULTIPLE refers to a multi-leg GTT order'
enum:
- SINGLE
- MULTIPLE
example: SINGLE
quantity:
type: integer
format: int32
description: Quantity with which the order is to be placed
example: 1
rules:
type: array
description: List of rules defining the conditions for each leg in the GTT order
items:
$ref: '#/components/schemas/GttRule'
gtt_order_id:
type: string
description: Unique identifier of the GTT order to be modified
example: GTT-12345678
pattern: ^GTT-.+$
required:
- gtt_order_id
- quantity
- rules
- type
GttRule:
type: object
properties:
strategy:
type: string
description: 'Defines the strategy for the GTT order leg:
ENTRY - First leg order
STOPLOSS - Stop-loss order
TARGET - Target order'
enum:
- ENTRY
- STOPLOSS
- TARGET
example: ENTRY
trigger_type:
type: string
description: Trigger type for each leg of the order
enum:
- ABOVE
- BELOW
- IMMEDIATE
example: ABOVE
trigger_price:
type: number
format: double
description: Trigger price for the GTT order leg
example: 1500.5
trailing_gap:
type: number
format: double
description: Optional parameter defining the trailing gap for the GTT order
example: 0.5
market_protection:
type: number
format: double
description: Optional parameter defining the market protection percentage for the GTT order
example: 3
maximum: 25
minimum: -1
required:
- strategy
- trigger_price
- trigger_type
GttOrderData:
type: object
properties:
gtt_order_ids:
type: array
description: Order ID for the placed GTT order
example: GTT-221130000253265
items:
type: string
readOnly: true
GttTriggerOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/GttOrderData'
description: Response data for GTT order request
metadata:
$ref: '#/components/schemas/OrderMetadata'
ModifyPayoutRequest:
type: object
properties:
amount:
type: number
format: double
description: Withdrawal amount in INR
example: 5000.0
minimum: 100.0
required:
- amount
PayoutDetails:
type: object
properties:
status:
type: string
mode:
type: string
amount:
type: number
format: double
currency:
type: string
eta:
type: string
message:
type: string
transaction_id:
type: string
created_at:
type: string
bank_name:
type: string
transaction_fee:
type: string
PayoutDetailsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/PayoutDetails'
description: Response data for initiate payout request
UpdateUserIpRequest:
type: object
properties:
primary_ip:
type: string
secondary_ip:
type: string
FamilyMemberData:
type: object
properties:
user_id:
type: string
name:
type: string
UserIpResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/UserIpResponseData'
description: Current IP configuration.
UserIpResponseData:
type: object
properties:
primary_ip:
type: string
secondary_ip:
type: string
primary_ip_updated_at:
type: string
description: ISO-8601 timestamp when primary IP was last changed.
secondary_ip_updated_at:
type: string
description: ISO-8601 timestamp when secondary IP was last changed.
primary_ip_family_members:
type: array
items:
$ref: '#/components/schemas/FamilyMemberData'
secondary_ip_family_members:
type: array
items:
$ref: '#/components/schemas/FamilyMemberData'
access_tokens_invalidated:
type: boolean
ConvertPositionRequest:
type: object
properties:
instrument_token:
type: string
description: Key of the instrument
example: 151064324
new_product:
type: string
description: Indicates the new product to use for the convert positions
enum:
- I
- D
- CO
- OCO
- MTF
example: D
old_product:
type: string
description: Indicates the old product to use for the convert positions
enum:
- I
- D
- CO
- OCO
- MTF
example: I
transaction_type:
type: string
description: Indicates whether its a buy(b) or sell(s) order
enum:
- BUY
- SELL
example: BUY
quantity:
type: integer
format: int32
description: Quantity with which the position to convert
example: 1
required:
- instrument_token
- new_product
- old_product
- quantity
- transaction_type
ConvertPositionData:
type: object
properties:
status:
type: string
description: Status message for convert position request
example: complete
readOnly: true
ConvertPositionResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/ConvertPositionData'
description: Response data for convert position request
errors:
type: array
description: Error details for convert position request
items:
$ref: '#/components/schemas/Problem'
ModifyOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/ModifyOrderData'
description: Response data for modify order request
PlaceOrderV3Request:
type: object
properties:
quantity:
type: integer
format: int32
description: Quantity with which the order is to be placed
example: 1
product:
type: string
description: Signifies if the order was either Intraday, Delivery, CO or OCO
enum:
- I
- D
example: D
validity:
type: string
description: It can be one of the following - DAY(default), IOC
enum:
- DAY
- IOC
example: DAY
price:
type: number
format: float
description: Price at which the order will be placed
example: 0
tag:
type: string
maxLength: 40
minLength: 0
slice:
type: boolean
instrument_token:
type: string
description: Key of the instrument
example: NSE_EQ|INE848E01016
order_type:
type: string
description: 'Type of order. It can be one of the following
MARKET refers to market order
LIMIT refers to Limit Order
SL refers to Stop Loss Limit
SL-M refers to Stop Loss Market'
enum:
- MARKET
- LIMIT
- SL
- SL-M
example: MARKET
transaction_type:
type: string
description: Indicates whether its a buy or sell order
enum:
- BUY
- SELL
example: BUY
disclosed_quantity:
type: integer
format: int32
description: The quantity that should be disclosed in the market depth
example: 0
trigger_price:
type: number
format: float
description: If the order is a stop loss order then the trigger price to be set is mentioned here
example: 0
is_amo:
type: boolean
description: Signifies if the order is an After Market Order
example: false
required:
- disclosed_quantity
- instrument_token
- is_amo
- order_type
- price
- product
- quantity
- transaction_type
- trigger_price
- validity
MultiOrderV3Data:
type: object
properties:
order_ids:
type: array
items:
type: string
PlaceOrderV3Response:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/MultiOrderV3Data'
metadata:
$ref: '#/components/schemas/OrderMetadata'
GttPlaceOrderRequest:
type: object
properties:
type:
type: string
description: 'Type of GTT order. It can be one of the following:
SINGLE refers to a single-leg GTT order
MULTIPLE refers to a multi-leg GTT order'
enum:
- SINGLE
- MULTIPLE
example: SINGLE
quantity:
type: integer
format: int32
description: Quantity with which the order is to be placed
example: 1
product:
type: string
description: Signifies if the order was either Intraday, Delivery or MTF
enum:
- I
- D
- MTF
example: D
rules:
type: array
description: List of rules defining the conditions for each leg in the GTT order
items:
$ref: '#/components/schemas/GttRule'
instrument_token:
type: string
description: Key of the instrument
example: NSE_EQ|INE848E01016
transaction_type:
type: string
description: Indicates whether its a buy or sell order
enum:
- BUY
- SELL
example: BUY
required:
- instrument_token
- product
- quantity
- rules
- transaction_type
- type
IndieUserTokenRequest:
type: object
properties:
client_id:
type: string
description: OAuth API key that is a public identifier for app
client_secret:
type: string
description: OAuth client secret that is a private secret known only to app and authorization server
otp_verification_disabled:
type: boolean
description: To enable/disable otp auth flow
TokenResponse:
type: object
properties:
email:
type: string
description: E-mail address of the user
example: client@email.com
readOnly: true
exchanges:
type: array
description: Lists the exchanges to which the user has access
example: NSE
items:
type: string
enum:
- NSE
- NFO
- CDS
- BSE
- BFO
- BCD
- MCX
- NSCOM
readOnly: true
products:
type: array
description: Lists the products types to which the user has access
example: D
items:
type: string
enum:
- I
- D
- CO
- OCO
- MTF
readOnly: true
broker:
type: string
description: The broker ID
example: UPSTOX
readOnly: true
user_id:
type: string
description: Uniquely identifies the user
example: 202251
readOnly: true
user_name:
type: string
description: Name of the user
example: client
readOnly: true
order_types:
type: array
description: Order types enabled for the user
example: LIMIT
items:
type: string
enum:
- MARKET
- LIMIT
- SL
- SL-M
readOnly: true
user_type:
type: string
description: "\t\nIdentifies the user's registered role at the broker. This will be individual for all retail users"
example: individual
readOnly: true
poa:
type: boolean
description: "\t\nTo depict if the user has given power of attorney for transactions"
example: true
readOnly: true
ddpi:
type: boolean
description: "\t\nIndicates if DDPI is enabled for trading"
example: true
readOnly: true
is_active:
type: boolean
description: "\t\nWhether the status of account is active or not"
example: true
readOnly: true
access_token:
type: string
description: The authentication token that is to used with every subsequent API requests
readOnly: true
extended_token:
type: string
description: An extended authentication token with a prolonged validity period, intended for specific API requests.
Ensure you use this token only with the designated set of APIs.
readOnly: true
expires_in:
type: integer
format: int32
description: The number of seconds until the access token expires
readOnly: true
token_type:
type: string
description: The type of token
readOnly: true
refresh_token:
type: string
description: The refresh token that can be used to refresh the access token
readOnly: true
refresh_token_expires_in:
type: integer
format: int32
description: The number of seconds until the refresh token expires
readOnly: true
InitiatePayoutRequest:
type: object
properties:
mode:
type: string
description: Withdrawal mode. NEFT or IMPS
example: NEFT
minLength: 1
pattern: ^(NEFT|IMPS)$
amount:
type: number
format: double
description: Withdrawal amount in INR
example: 5000.0
minimum: 100.0
required:
- amount
- mode
KillSwitchSegmentUpdateRequest:
type: object
properties:
segment:
type: string
enum:
- BSE_EQ
- NSE_EQ
- NCD_FO
- BCD_FO
- NSE_FO
- BSE_FO
- BSE_MF
- MCX_FO
- NSE_COM
action:
type: string
enum:
- ENABLE
- DISABLE
required:
- action
- segment
KillSwitchResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/KillSwitchSegmentData'
KillSwitchSegmentData:
type: object
properties:
segment:
type: string
segment_status:
type: string
enum:
- ACTIVE
- INACTIVE
kill_switch_enabled:
type: boolean
BatchExecutionSummary:
type: object
properties:
total:
type: integer
format: int32
description: The total number of order lines present in the payload.
example: 3
readOnly: true
success:
type: integer
format: int32
description: The number of order lines that were successfully placed without any errors.
example: 2
readOnly: true
error:
type: integer
format: int32
description: The number of order lines that encountered errors during processing, despite their payloads being valid.
example: 1
readOnly: true
CancelOrExitMultiOrderData:
type: object
properties:
order_ids:
type: array
description: Reference order IDs
example: '[''1644490272000'']'
items:
type: string
readOnly: true
CancelOrExitMultiOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/CancelOrExitMultiOrderData'
description: Response data for cancel or exit order request
errors:
type: array
description: Error data for cancel or exit order request
items:
$ref: '#/components/schemas/CancelOrExitOrderErrorData'
summary:
$ref: '#/components/schemas/BatchExecutionSummary'
description: Execution summary for cancel or exit order request
CancelOrExitOrderErrorData:
type: object
properties:
errorCode:
type: string
deprecated: true
description: Unique code for the error state
message:
type: string
description: Verbose message for the error state
propertyPath:
type: string
deprecated: true
description: Path to property failing validation
invalidValue:
deprecated: true
description: Invalid value for the property failing validation
error_code:
type: string
property_path:
type: string
invalid_value: {}
instrument_key:
type: string
description: Key of instrument
example: NSE_EQ|INE002A01018
readOnly: true
order_id:
type: string
description: Reference order ID
example: 1644490272000
readOnly: true
PlaceOrderRequest:
type: object
properties:
quantity:
type: integer
format: int32
description: Quantity with which the order is to be placed
example: 1
product:
type: string
description: Signifies if the order was either Intraday, Delivery, CO or OCO
enum:
- I
- D
example: D
validity:
type: string
description: It can be one of the following - DAY(default), IOC
enum:
- DAY
- IOC
example: DAY
price:
type: number
format: float
description: Price at which the order will be placed
example: 0
tag:
type: string
description: Tag for a particular order
instrument_token:
type: string
description: Key of the instrument
example: NSE_EQ|INE848E01016
order_type:
type: string
description: 'Type of order. It can be one of the following
MARKET refers to market order
LIMIT refers to Limit Order
SL refers to Stop Loss Limit
SL-M refers to Stop Loss Market'
enum:
- MARKET
- LIMIT
- SL
- SL-M
example: MARKET
transaction_type:
type: string
description: Indicates whether its a buy or sell order
enum:
- BUY
- SELL
example: BUY
disclosed_quantity:
type: integer
format: int32
description: The quantity that should be disclosed in the market depth
example: 0
trigger_price:
type: number
format: float
description: If the order is a stop loss order then the trigger price to be set is mentioned here
example: 0
is_amo:
type: boolean
description: Signifies if the order is an After Market Order
example: false
required:
- disclosed_quantity
- instrument_token
- is_amo
- order_type
- price
- product
- quantity
- transaction_type
- trigger_price
- validity
PlaceOrderData:
type: object
properties:
order_id:
type: string
description: An order ID for the order request placed
example: 1644490272000
readOnly: true
PlaceOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/PlaceOrderData'
description: Response data for place order request
MultiOrderRequest:
type: object
properties:
quantity:
type: integer
format: int32
description: Quantity with which the order is to be placed
example: 1
product:
type: string
description: Signifies if the order was either Intraday, Delivery, CO or OCO
enum:
- I
- D
example: D
validity:
type: string
description: It can be one of the following - DAY(default), IOC
enum:
- DAY
- IOC
example: DAY
price:
type: number
format: float
description: Price at which the order will be placed
example: 0
tag:
type: string
maxLength: 40
minLength: 0
slice:
type: boolean
description: To divide the order line based on predefined exchange definitions
example: false
instrument_token:
type: string
description: Key of the instrument
example: NSE_EQ|INE848E01016
order_type:
type: string
description: 'Type of order. It can be one of the following
MARKET refers to market order
LIMIT refers to Limit Order
SL refers to Stop Loss Limit
SL-M refers to Stop Loss Market'
enum:
- MARKET
- LIMIT
- SL
- SL-M
example: MARKET
transaction_type:
type: string
description: Indicates whether its a buy or sell order
enum:
- BUY
- SELL
example: BUY
disclosed_quantity:
type: integer
format: int32
description: The quantity that should be disclosed in the market depth
example: 0
trigger_price:
type: number
format: float
description: If the order is a stop loss order then the trigger price to be set is mentioned here
example: 0
is_amo:
type: boolean
description: Signifies if the order is an After Market Order
example: false
correlation_id:
type: string
description: A unique identifier for tracking individual orders within the batch
example: 12345678
maxLength: 20
minLength: 1
market_protection:
type: number
format: float
description: Optional parameter defining the market protection percentage for the multi order
example: 3
maximum: 25
minimum: -1
required:
- correlation_id
- disclosed_quantity
- instrument_token
- is_amo
- order_type
- price
- product
- quantity
- slice
- transaction_type
- trigger_price
- validity
MultiOrderData:
type: object
properties:
correlation_id:
type: string
description: A unique identifier for tracking individual orders within the batch
example: 213fsf2324
readOnly: true
order_id:
type: string
description: An order ID for the order request placed
example: 1644490272000
readOnly: true
MultiOrderError:
type: object
properties:
errorCode:
type: string
deprecated: true
description: Unique code for the error state
message:
type: string
description: Verbose message for the error state
propertyPath:
type: string
deprecated: true
description: Path to property failing validation
invalidValue:
deprecated: true
description: Invalid value for the property failing validation
error_code:
type: string
property_path:
type: string
invalid_value: {}
correlation_id:
type: string
description: A unique identifier for tracking individual orders within the batch
example: 213fsf2324
readOnly: true
MultiOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for multi order request
items:
$ref: '#/components/schemas/MultiOrderData'
errors:
type: array
description: Error details for multi order request
items:
$ref: '#/components/schemas/MultiOrderError'
summary:
$ref: '#/components/schemas/MultiOrderSummary'
description: Execution summary for multi order request
MultiOrderSummary:
type: object
properties:
total:
type: integer
format: int32
description: The total number of order lines present in the payload.
example: 3
readOnly: true
success:
type: integer
format: int32
description: The number of order lines that were successfully placed without any errors.
example: 2
readOnly: true
error:
type: integer
format: int32
description: The number of order lines that encountered errors during processing, despite their payloads being valid.
example: 1
readOnly: true
payload_error:
type: integer
format: int32
description: 'The number of order lines with payload errors, indicating formatting or data validity issues.
Note:
Orders are processed only if the entire batch is free of payload_error, ensuring error-free transactions.'
example: 0
readOnly: true
TokenRequest:
type: object
properties:
code:
type: string
minLength: 1
client_id:
type: string
description: OAuth API key that is a public identifier for app
minLength: 1
client_secret:
type: string
description: OAuth client secret that is a private secret known only to app and authorization server
minLength: 1
redirect_uri:
type: string
description: Authorization server will redirect the user back to the application via redirect url
minLength: 1
grant_type:
type: string
description: Type of grant used to get an access token
minLength: 1
refresh_extended_token:
type: boolean
description: Whether to refresh (regenerate) the extended access token. Defaults to false when absent. Set to true
to refresh; false or omit to reuse an existing extended token when available.
required:
- client_id
- client_secret
- code
- grant_type
- redirect_uri
IpoApplyRequest:
type: object
properties:
id:
type: string
description: IPO id (slug) to apply for, as returned in `id` by the IPO listing and details APIs
example: mandb-engineering-limited-ipo
minLength: 1
upi:
type: string
description: UPI id used to block the application amount
example: test@upi
minLength: 1
category:
type: string
description: Investor category to apply under. Must be one the issue accepts — see `investors[].category` in the
IPO details API
enum:
- IND
- HNI
example: IND
minLength: 1
bids:
type: array
description: List of bids for the application (1 to 3 bids)
items:
$ref: '#/components/schemas/IpoBidRequest'
maxItems: 3
minItems: 0
required:
- bids
- category
- id
- upi
IpoBidRequest:
type: object
properties:
quantity:
type: integer
format: int32
description: Number of shares bid for. Must be a multiple of the IPO's `lot_size` and at least its `minimum_quantity`
example: 20
price:
type: number
description: Bid price per share, in whole rupees — decimals are not accepted. Must sit within the IPO's price band,
or equal its `cut_off_price`
example: 850
required:
- price
- quantity
IpoApplyData:
type: object
properties:
order_id:
type: string
description: Application id created for this IPO application. Pass this as order_id to the get-order and cancel-order
APIs
example: UPCHK500000020
IpoApplyResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/IpoApplyData'
EventRequest:
type: object
properties:
event_type:
type: string
minLength: 1
event:
type: string
minLength: 1
data:
type: object
additionalProperties: {}
required:
- event
- event_type
EventResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
Instrument:
type: object
properties:
instrument_key:
type: string
description: Instrument Key of the Instrument
example: NSE_EQ|INE848E01016
pattern: ^(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+(,(?:NSE_EQ|NSE_FO|NCD_FO|BSE_EQ|BSE_FO|BCD_FO|MCX_FO|NSE_INDEX|BSE_INDEX|MCX_INDEX|NSE_COM|GLOBAL_INDEX|GLOBAL_INDICATOR)\|[\w
^]+)*?$
quantity:
type: integer
format: int32
description: Quantity of the instrument to buy or sell for margin calculation
example: 1
minimum: 1
product:
type: string
description: Product with which the order is to be placed
example: D
transaction_type:
type: string
description: Indicates whether its a BUY or SELL order
example: BUY
price:
type: number
format: double
description: price
example: 123.9
minimum: 0
required:
- instrument_key
- product
- quantity
- transaction_type
MarginRequest:
type: object
properties:
instruments:
type: array
description: instruments
example:
- instrument_key: NSE_EQ|INE669E01016
quantity: 2
transaction_type: BUY
product: D
- instrument_key: NSE_EQ|INE848E01016
quantity: 5
transaction_type: BUY
product: D
items:
$ref: '#/components/schemas/Instrument'
required:
- instruments
Margin:
type: object
properties:
span_margin:
type: number
format: double
description: Upfront margin mandatory by exchange for derivatives trade applicable on only FNO trade
readOnly: true
exposure_margin:
type: number
format: double
description: Based on ELM percentage values provided by exchange, applicable on only FNO trade
readOnly: true
equity_margin:
type: number
format: double
description: Margin applicable for any equity trade
readOnly: true
net_buy_premium:
type: number
format: double
description: Option premium required.
readOnly: true
additional_margin:
type: number
format: double
description: Application margin applicable on MCX FNO trade for certain commodities
readOnly: true
total_margin:
type: number
format: double
description: Total margin required for the basket
readOnly: true
tender_margin:
type: number
format: double
description: Tender margin
readOnly: true
MarginData:
type: object
properties:
margins:
type: array
description: Response data for instrument margin details
items:
$ref: '#/components/schemas/Margin'
readOnly: true
required_margin:
type: number
format: double
description: Total margin required to execute the orders
readOnly: true
final_margin:
type: number
format: double
description: Total margin after margin benefit
readOnly: true
PostMarginResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/MarginData'
description: Response data for margin
AvailableToTrade:
type: object
properties:
total:
type: number
format: float
cash_available_to_trade:
$ref: '#/components/schemas/CashAvailableToTrade'
pledge_available_to_trade:
$ref: '#/components/schemas/PledgeAvailableToTrade'
CashAvailableToTrade:
type: object
properties:
total:
type: number
format: float
cash:
$ref: '#/components/schemas/CashBreakdown'
margin_used:
$ref: '#/components/schemas/CashMarginUsed'
CashBreakdown:
type: object
properties:
opening_balance:
type: number
format: float
added_today:
type: number
format: float
withdrawn_today:
type: number
format: float
amount_from_stock_sale:
type: number
format: float
unpaid_charges:
type: number
format: float
CashMarginUsed:
type: object
properties:
total:
type: number
format: float
mtf:
type: number
format: float
loss:
$ref: '#/components/schemas/Loss'
span_exposure:
type: number
format: float
cash_margin_var_elm:
type: number
format: float
premium_present:
type: number
format: float
delivery_margin:
$ref: '#/components/schemas/DeliveryMargin'
CashUnavailableToTrade:
type: object
properties:
unsettled_profit:
$ref: '#/components/schemas/UnsettledProfit'
DeliveryMargin:
type: object
properties:
total:
type: number
format: float
equity:
type: number
format: float
fo_settlement:
type: number
format: float
GetUserFundMarginV3Response:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/UserFundMarginV3Data'
description: Response data for fund and margin v3
Loss:
type: object
properties:
total:
type: number
format: float
realised:
type: number
format: float
unrealised:
type: number
format: float
MarginFromPledge:
type: object
properties:
total:
type: number
format: float
equity:
type: number
format: float
mutual_funds:
type: number
format: float
PledgeAvailableToTrade:
type: object
properties:
margin_from_pledge:
$ref: '#/components/schemas/MarginFromPledge'
margin_used:
$ref: '#/components/schemas/PledgeMarginUsed'
PledgeMarginUsed:
type: object
properties:
total:
type: number
format: float
mtf:
type: number
format: float
span_exposure:
type: number
format: float
cash_margin_var_elm:
type: number
format: float
premium_present:
type: number
format: float
delivery_margin:
$ref: '#/components/schemas/DeliveryMargin'
PledgeUnavailableToTrade:
type: object
properties:
equity:
type: number
format: float
mutual_funds:
type: number
format: float
UnavailableToTrade:
type: object
properties:
cash_unavailable_to_trade:
$ref: '#/components/schemas/CashUnavailableToTrade'
pledge_unavailable_to_trade:
$ref: '#/components/schemas/PledgeUnavailableToTrade'
UnsettledProfit:
type: object
properties:
todays_profit:
type: number
format: float
previous_days:
type: number
format: float
UserFundMarginV3Data:
type: object
properties:
available_to_trade:
$ref: '#/components/schemas/AvailableToTrade'
unavailable_to_trade:
$ref: '#/components/schemas/UnavailableToTrade'
GetPositionResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for position details
items:
$ref: '#/components/schemas/PositionData'
metadata:
$ref: '#/components/schemas/OrderMetadata'
PositionData:
type: object
properties:
exchange:
type: string
description: Exchange to which the order is associated
enum:
- NSE
- NFO
- CDS
- BSE
- BFO
- BCD
- MCX
- NSCOM
example: NSE
readOnly: true
multiplier:
type: number
format: float
description: The quantity/lot size multiplier used for calculating P&Ls
example: 1
readOnly: true
value:
type: number
format: float
description: Net value of the position
example: 120
readOnly: true
pnl:
type: number
format: float
description: Profit and loss - net returns on the position
example: 121.01
readOnly: true
product:
type: string
description: Shows if the order was either Intraday, Delivery, CO or OCO
example: D
readOnly: true
instrument_token:
type: string
description: Key issued by Upstox for the instrument
example: 151064324
readOnly: true
average_price:
type: number
format: float
description: Average price at which the net position quantity was acquired
example: 120.01
readOnly: true
buy_value:
type: number
format: float
description: Net value of the bought quantities
example: 120
readOnly: true
overnight_quantity:
type: integer
format: int32
description: Quantity held previously and carried forward over night
example: 1
readOnly: true
day_buy_value:
type: number
format: float
description: Amount at which the quantity is bought during the day
example: 120.01
readOnly: true
day_buy_price:
type: number
format: float
description: Average price at which the day qty was bought. Default is empty string
example: 120.01
readOnly: true
overnight_buy_amount:
type: number
format: float
description: Amount at which the quantity was bought in the previous session
example: 12
readOnly: true
overnight_buy_quantity:
type: integer
format: int32
description: Quantity bought in the previous session
example: 12
readOnly: true
day_buy_quantity:
type: integer
format: int32
description: Quantity bought during the day
example: 1
readOnly: true
day_sell_value:
type: number
format: float
description: Amount at which the quantity is sold during the day
example: 0
readOnly: true
day_sell_price:
type: number
format: float
description: Average price at which the day quantity was sold
example: 0
readOnly: true
overnight_sell_amount:
type: number
format: float
description: Amount at which the quantity was sold in the previous session
example: 120.01
readOnly: true
overnight_sell_quantity:
type: integer
format: int32
description: Quantity sold short in the previous session
example: 0
readOnly: true
day_sell_quantity:
type: integer
format: int32
description: Quantity sold during the day
example: 0
readOnly: true
quantity:
type: integer
format: int32
description: Quantity left after nullifying Day and CF buy quantity towards Day and CF sell quantity
example: 2
readOnly: true
last_price:
type: number
format: float
description: Last traded market price of the instrument
example: 120.01
readOnly: true
unrealised:
type: number
format: float
description: Day PnL generated against open positions
example: 121.01
readOnly: true
realised:
type: number
format: float
description: Day PnL generated against closed positions
example: 0
readOnly: true
sell_value:
type: number
format: float
description: Net value of the sold quantities
example: 0
readOnly: true
tradingsymbol:
type: string
deprecated: true
description: Shows the trading symbol of the instrument
example: GMR
readOnly: true
trading_symbol:
type: string
description: Shows the trading symbol of the instrument
example: GMR
readOnly: true
close_price:
type: number
format: float
description: Closing price of the instrument from the last trading day
example: 102.0
readOnly: true
buy_price:
type: number
format: float
description: Average price at which quantities were bought
example: 102.0
readOnly: true
sell_price:
type: number
format: float
description: Average price at which quantities were sold
example: 102.0
readOnly: true
GetGttOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for order details
items:
$ref: '#/components/schemas/GttOrderDetails'
metadata:
$ref: '#/components/schemas/OrderMetadata'
GttOrderDetails:
type: object
properties:
type:
type: string
exchange:
type: string
quantity:
type: integer
format: int32
product:
type: string
rules:
type: array
items:
$ref: '#/components/schemas/Rule'
trading_symbol:
type: string
instrument_token:
type: string
gtt_order_id:
type: string
expires_at:
type: integer
format: int64
created_at:
type: integer
format: int64
Rule:
type: object
properties:
strategy:
type: string
status:
type: string
message:
type: string
trigger_type:
type: string
trigger_price:
type: number
format: double
transaction_type:
type: string
order_id:
type: string
trailing_gap:
type: number
format: double
GetMarketQuoteOptionGreekResponseV3:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
$ref: '#/components/schemas/MarketQuoteOptionGreekV3'
MarketQuoteOptionGreekV3:
type: object
properties:
last_price:
type: number
format: double
instrument_token:
type: string
ltq:
type: integer
format: int64
volume:
type: integer
format: int64
cp:
type: number
format: double
iv:
type: number
format: double
vega:
type: number
format: double
gamma:
type: number
format: double
theta:
type: number
format: double
delta:
type: number
format: double
oi:
type: number
format: double
GetMarketQuoteOHLCResponseV3:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
$ref: '#/components/schemas/MarketQuoteOHLCV3'
MarketQuoteOHLCV3:
type: object
properties:
last_price:
type: number
format: double
description: The last traded price of symbol
example: 120.01
readOnly: true
instrument_token:
type: string
prev_ohlc:
$ref: '#/components/schemas/OhlcV3'
live_ohlc:
$ref: '#/components/schemas/OhlcV3'
OhlcV3:
type: object
properties:
open:
type: number
format: double
description: The open price of the trading session
example: 120.01
readOnly: true
high:
type: number
format: double
description: The high price of the trading session
example: 121.0
readOnly: true
low:
type: number
format: double
description: The low price of the trading session
example: 119.0
readOnly: true
close:
type: number
format: double
description: The close price of the symbol from the previous session of trading
example: 120.0
readOnly: true
volume:
type: integer
format: int64
description: The volume of the symbol traded in the session
example: 2589075
readOnly: true
ts:
type: integer
format: int64
description: Starting timestamp of candle
example: 1743750900000
readOnly: true
GetMarketQuoteLastTradedPriceResponseV3:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
$ref: '#/components/schemas/MarketQuoteSymbolLtpV3'
MarketQuoteSymbolLtpV3:
type: object
properties:
last_price:
type: number
format: double
instrument_token:
type: string
ltq:
type: integer
format: int64
volume:
type: integer
format: int64
cp:
type: number
format: double
GetHistoricalCandleResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/HistoricalCandleData'
description: Get OHLC values for all instruments across various timeframes
HistoricalCandleData:
type: object
properties:
candles:
type: array
example: '[[
"2022-11-21T00:00:00+05:30",
37.4,
37.8,
36.95,
37.6,
5539471,
0
]]'
items:
type: array
items: {}
readOnly: true
GetIntraDayCandleResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/IntraDayCandleData'
description: Get OHLC values for all instruments across various timeframes
IntraDayCandleData:
type: object
properties:
candles:
type: array
example: '[[
"2022-11-21T00:00:00+05:30",
37.4,
37.8,
36.95,
37.6,
5539471,
0
]]'
items:
type: array
items: {}
readOnly: true
GetProfileResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/ProfileData'
description: Response data for user profile
ProfileData:
type: object
properties:
email:
type: string
description: E-mail address of the user
example: client@email.com
readOnly: true
exchanges:
type: array
description: Lists the exchanges to which the user has access
example: NSE
items:
type: string
enum:
- NSE
- NFO
- CDS
- BSE
- BFO
- BCD
- MCX
- NSCOM
readOnly: true
products:
type: array
description: Lists the products types to which the user has access
example: D
items:
type: string
enum:
- I
- D
- CO
- OCO
- MTF
readOnly: true
broker:
type: string
description: The broker ID
example: UPSTOX
readOnly: true
user_id:
type: string
description: Uniquely identifies the user
example: 202251
readOnly: true
user_name:
type: string
description: Name of the user
example: client
readOnly: true
order_types:
type: array
description: Order types enabled for the user
example: LIMIT
items:
type: string
enum:
- MARKET
- LIMIT
- SL
- SL-M
readOnly: true
user_type:
type: string
description: "\t\nIdentifies the user's registered role at the broker. This will be individual for all retail users"
example: individual
readOnly: true
poa:
type: boolean
description: "\t\nTo depict if the user has given power of attorney for transactions"
example: true
readOnly: true
ddpi:
type: boolean
description: "\t\nIndicates if DDPI is enabled for trading"
example: true
readOnly: true
is_active:
type: boolean
description: "\t\nWhether the status of account is active or not"
example: true
readOnly: true
PaymentHistoryData:
type: object
properties:
amount:
type: number
format: double
mode:
type: string
status:
type: string
reason:
type: string
currency:
type: string
eta:
type: string
last_updated_at:
type: string
bank_name:
type: string
transaction_id:
type: string
total_charges:
type: number
format: double
charges_category:
type: string
created_at:
type: string
PaymentHistoryResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: List of payment history records
items:
$ref: '#/components/schemas/PaymentHistoryData'
PayoutModesData: {}
PayoutModesResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/PayoutModesData'
description: Available payout modes with eligibility details
GetUserFundMarginResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
$ref: '#/components/schemas/UserFundMarginData'
description: Response data for Balance
UserFundMarginData:
type: object
properties:
used_margin:
type: number
format: float
description: "Positive values denote the amount blocked into an Open order or position. \nNegative value denotes\
\ the amount being released."
example: 120.01
readOnly: true
payin_amount:
type: number
format: float
description: Instant payin will reflect here
example: 0
readOnly: true
span_margin:
type: number
format: float
description: Amount blocked on futures and options towards SPAN
example: 0
readOnly: true
adhoc_margin:
type: number
format: float
description: Payin amount credited through a manual process
example: 0
readOnly: true
notional_cash:
type: number
format: float
description: The amount maintained for withdrawal
example: 0
readOnly: true
available_margin:
type: number
format: float
description: Total margin available for trading
example: 200.0
readOnly: true
exposure_margin:
type: number
format: float
description: Amount blocked on futures and options towards Exposure
example: 0
readOnly: true
GetTradeWiseProfitAndLossMetaDataResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/TradeWiseMetaData'
description: Response data for brokerage
TradeWiseMetaData:
type: object
properties:
trades_count:
type: integer
format: int32
description: Total count of trades in the trade wise P and L report
example: 10
readOnly: true
page_size_limit:
type: integer
format: int32
description: Maximum number of trades in a page of the trade wise P and L report API
example: 5000
readOnly: true
GetTradeWiseProfitAndLossDataResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for trade wise data details
items:
$ref: '#/components/schemas/TradeWiseProfitAndLossData'
metadata:
$ref: '#/components/schemas/ProfitAndLossMetaDataWrapper'
ProfitAndLossMetaData:
type: object
properties:
page_number:
type: integer
format: int32
description: pageNumber for pagination
example: 1
readOnly: true
page_size:
type: integer
format: int32
description: Page size
example: 2
readOnly: true
ProfitAndLossMetaDataWrapper:
type: object
properties:
page:
$ref: '#/components/schemas/ProfitAndLossMetaData'
description: Meta data for trade wise data details
TradeWiseProfitAndLossData:
type: object
properties:
quantity:
type: number
format: float
description: The quantity of stock traded
example: 100
readOnly: true
isin:
type: string
description: ISIN of the stock
example: INE256A01028
readOnly: true
scrip_name:
type: string
description: Name of the scrip traded
example: ZEE ENTER
readOnly: true
trade_type:
type: string
description: "FUT - Futures\n\r\nOPT - Options\r\n\r\nEQ - Equity"
example: EQ
readOnly: true
buy_date:
type: string
description: The date on which the stock was bought
example: 14-09-2021
readOnly: true
buy_average:
type: number
format: float
description: The average rate at which each quantity of the stock was bought
example: 12345.67
readOnly: true
sell_date:
type: string
description: The date on which the stock was sold
example: 14-09-2021
readOnly: true
sell_average:
type: number
format: float
description: The average rate at which each quantity of the stock was sold
example: 12345.67
readOnly: true
buy_amount:
type: number
format: float
description: Total buy amount
example: 12345.67
readOnly: true
sell_amount:
type: number
format: float
description: Total sell amount
example: 12345.67
readOnly: true
GetProfitAndLossChargesResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/ProfitAndLossChargesWrapperData'
description: Response data for brokerage
ProfitAndLossChargesData:
type: object
properties:
total:
type: number
format: float
description: ' Total charges for the user'
example: 123.1
readOnly: true
brokerage:
type: number
format: float
description: Brokerage charges for the order
example: 432.1
readOnly: true
taxes:
$ref: '#/components/schemas/ProfitAndLossChargesTaxes'
description: Taxes levied on order
readOnly: true
charges:
$ref: '#/components/schemas/ProfitAndLossOtherChargesTaxes'
description: Other charges levied
readOnly: true
ProfitAndLossChargesTaxes:
type: object
properties:
gst:
type: number
format: float
description: GST charges
stt:
type: number
format: float
description: STT charges
stamp_duty:
type: number
format: float
description: Stamp duty charges
ProfitAndLossChargesWrapperData:
type: object
properties:
charges_breakdown:
$ref: '#/components/schemas/ProfitAndLossChargesData'
description: Response data for charges details
ProfitAndLossOtherChargesTaxes:
type: object
properties:
transaction:
type: number
format: float
description: transaction charges
clearing:
type: number
format: float
description: clearing charges
ipft:
type: number
format: float
description: IPF charges
others:
type: number
format: float
description: others charges
sebi_turnover:
type: number
format: float
description: SEBI turnover
demat_transaction:
type: number
format: float
description: demat transaction charges
GetHoldingsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for holdings
items:
$ref: '#/components/schemas/HoldingsData'
HoldingsData:
type: object
properties:
isin:
type: string
description: The standard ISIN representing stocks listed on multiple exchanges
example: INE118H01025
readOnly: true
cnc_used_quantity:
type: integer
format: int32
description: Quantity either blocked towards open or completed order
example: 0
readOnly: true
collateral_type:
type: string
description: Category of collateral assigned by RMS
example: WC
readOnly: true
company_name:
type: string
description: Name of the company
example: BSE LIM
readOnly: true
haircut:
type: number
format: float
description: This is the haircut percentage applied from RMS (applicable incase of collateral)
example: 0.23
readOnly: true
product:
type: string
description: Shows if the order was either Intraday, Delivery, CO or OCO
example: D
readOnly: true
quantity:
type: integer
format: int32
description: The total holding qty
example: 1
readOnly: true
tradingsymbol:
type: string
deprecated: true
description: Shows the trading symbol of the instrument
example: BSE
readOnly: true
last_price:
type: number
format: float
description: The last traded price of the instrument
example: 120.01
readOnly: true
close_price:
type: number
format: float
description: Closing price of the instrument from the last trading day
example: 120.01
readOnly: true
pnl:
type: number
format: float
description: Profit and Loss
example: 120.01
readOnly: true
day_change:
type: number
format: float
description: Day's change in absolute value for the stock
example: 0
readOnly: true
day_change_percentage:
type: number
format: float
description: Day's change in percentage for the stock
example: 0
readOnly: true
instrument_token:
type: string
description: Key issued by Upstox for the instrument
example: 151064324
readOnly: true
average_price:
type: number
format: float
description: Average price at which the net holding quantity was acquired
example: 120.01
readOnly: true
collateral_quantity:
type: integer
format: int32
description: Quantity marked as collateral by RMS on users request
example: 0
readOnly: true
collateral_update_quantity:
type: integer
format: int32
example: 0
readOnly: true
trading_symbol:
type: string
description: Shows the trading symbol of the instrument
example: BSE
readOnly: true
t1_quantity:
type: integer
format: int32
description: Quantity on T+1 day after order execution
example: 0
readOnly: true
exchange:
type: string
description: Exchange of the trading symbol
enum:
- NSE
- NFO
- CDS
- BSE
- BFO
- BCD
- MCX
- NSCOM
example: NSE
readOnly: true
GetTradeResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for trades
items:
$ref: '#/components/schemas/TradeData'
TradeData:
type: object
properties:
exchange:
type: string
description: Exchange to which the order is associated
enum:
- NSE
- NFO
- CDS
- BSE
- BFO
- BCD
- MCX
- NSCOM
example: NSE
readOnly: true
product:
type: string
description: Shows if the order was either Intraday, Delivery, CO or OCO
enum:
- I
- D
- CO
- OCO
- MTF
example: D
readOnly: true
tradingsymbol:
type: string
deprecated: true
description: Shows the trading symbol which could be a combination of symbol name, instrument, expiry date etc
example: GMRINFRA-EQ
readOnly: true
trading_symbol:
type: string
description: Shows the trading symbol which could be a combination of symbol name, instrument, expiry date etc
example: GMRINFRA-EQ
readOnly: true
instrument_token:
type: string
description: Identifier issued by Upstox used for subscribing to live market quotes
example: 151064324
readOnly: true
order_type:
type: string
description: 'Type of order. It can be one of the following
MARKET refers to market order
LIMIT refers to Limit Order
SL refers to Stop Loss Limit
SL-M refers to
Stop loss market'
enum:
- MARKET
- LIMIT
- SL
- SL-M
example: MARKET
readOnly: true
transaction_type:
type: string
description: Indicates whether the order was a buy or sell order
enum:
- BUY
- SELL
example: BUY
readOnly: true
quantity:
type: integer
format: int32
description: The total quantity traded from this particular order
example: 1
readOnly: true
exchange_order_id:
type: string
description: Unique order ID assigned by the exchange for the order placed
example: 221013001021540
readOnly: true
order_id:
type: string
description: Unique order ID assigned internally for the order placed
example: 221013001021539
readOnly: true
exchange_timestamp:
type: string
description: User readable time at when the trade occurred
example: 03-Aug-2017 15:03:42
readOnly: true
average_price:
type: number
format: float
description: Price at which the traded quantity is traded
example: 299.4
readOnly: true
trade_id:
type: string
description: Trade ID generated from exchange towards traded transaction
example: 50091502
readOnly: true
order_ref_id:
type: string
description: The order reference ID for which the order must be modified
example: udapi-aqwsed14356
readOnly: true
order_timestamp:
type: string
description: User readable timestamp at which the order was placed
example: 23-Apr-2021 14:22:06
readOnly: true
GetOrderBookResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for order Book
items:
$ref: '#/components/schemas/OrderBookData'
OrderBookData:
type: object
properties:
exchange:
type: string
description: Exchange to which the order is associated
enum:
- NSE
- NFO
- CDS
- BSE
- BFO
- BCD
- MCX
- NSCOM
example: NSE
readOnly: true
product:
type: string
description: Shows if the order was either Intraday, Delivery, CoverOrder or OneCancelsOther
enum:
- I
- D
- CO
- OCO
- MTF
example: D
readOnly: true
price:
type: number
format: float
description: Price at which the order was placed
example: 120.01
readOnly: true
quantity:
type: integer
format: int32
description: Quantity with which the order was placed
example: 1
readOnly: true
status:
type: string
description: Indicates the current status of the order. Valid order status’ are outlined in the table below
example: Complete
readOnly: true
guid:
type: string
readOnly: true
tag:
type: string
description: Tag to uniquely identify an order
readOnly: true
instrument_token:
type: string
description: Identifier issued by Upstox used for subscribing to live market quotes
example: 151064324
readOnly: true
placed_by:
type: string
description: Uniquely identifies the user
example: 200123
readOnly: true
tradingsymbol:
type: string
deprecated: true
description: Shows the trading symbol of the instrument
example: GMR
readOnly: true
trading_symbol:
type: string
description: Shows the trading symbol of the instrument
example: GMR
readOnly: true
order_type:
type: string
description: 'Type of order. It can be one of the following
MARKET refers to market order
LIMIT refers to Limit Order
SL refers to Stop Loss Limit
SL-M refers to
Stop loss market'
enum:
- MARKET
- LIMIT
- SL
- SL-M
example: MARKET
readOnly: true
validity:
type: string
description: Order validity (DAY- Day and IOC- Immediate or Cancel (IOC) order)
enum:
- DAY
- IOC
- EOS
example: DAY
readOnly: true
trigger_price:
type: number
format: float
description: If the order was a stop loss order then the trigger price set is mentioned here
example: 120
readOnly: true
disclosed_quantity:
type: integer
format: int32
description: The quantity that should be disclosed in the market depth
example: 1
readOnly: true
transaction_type:
type: string
description: Indicates whether the order was a buy or sell order
enum:
- BUY
- SELL
example: BUY
readOnly: true
average_price:
type: number
format: float
description: Average price at which the qty got traded
example: 120.01
readOnly: true
filled_quantity:
type: integer
format: int32
description: The total quantity traded from this particular order
example: 120.01
readOnly: true
pending_quantity:
type: integer
format: int32
description: Pending quantity to be filled
example: 1
readOnly: true
status_message:
type: string
description: Indicates the reason when any order is rejected, not modified or cancelled
readOnly: true
status_message_raw:
type: string
description: Description of the order's status as received from RMS
readOnly: true
exchange_order_id:
type: string
description: Unique order ID assigned by the exchange for the order placed
example: 221013001021540
readOnly: true
parent_order_id:
type: string
description: In case the order is part of the second or third leg of a CO or OCO, the parent order ID is indicated
here
example: 221013001021541
readOnly: true
order_id:
type: string
description: Unique order ID assigned internally for the order placed
example: 221013001021541
readOnly: true
variety:
type: string
description: Order complexity
example: SIMPLE
readOnly: true
order_timestamp:
type: string
description: User readable timestamp at which the order was placed
example: 23-Apr-2021 14:22:06
readOnly: true
exchange_timestamp:
type: string
description: User readable time at which the order was placed or updated
example: 24-Apr-2021 14:22:06
readOnly: true
is_amo:
type: boolean
description: Signifies if the order is an After Market Order
example: false
readOnly: true
order_request_id:
type: string
description: Apart from 1st order it shows the count of how many requests were sent
example: 221013001021542
readOnly: true
order_ref_id:
type: string
description: The order reference ID for which the order must be modified
example: udapi-12345abcd
readOnly: true
GetOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for order details
items:
$ref: '#/components/schemas/OrderData'
OrderData:
type: object
properties:
exchange:
type: string
description: Exchange to which the order is associated
enum:
- NSE
- NFO
- CDS
- BSE
- BFO
- BCD
- MCX
- NSCOM
example: NSE
readOnly: true
price:
type: number
format: float
description: Price at which the order was placed
example: 120.01
readOnly: true
product:
type: string
description: Shows if the order was either Intraday, Delivery, CoverOrder or OneCancelsOther
enum:
- I
- D
- CO
- OCO
- MTF
example: D
readOnly: true
quantity:
type: integer
format: int32
description: Quantity with which the order was placed
example: 1
readOnly: true
status:
type: string
description: Indicates the current status of the order. Valid order status’ are outlined in the table below
example: complete
readOnly: true
tag:
type: string
description: Tag to uniquely identify an order
readOnly: true
validity:
type: string
description: Order validity (DAY- Day and IOC- Immediate or Cancel (IOC) order)
enum:
- DAY
- IOC
- EOS
example: DAY
readOnly: true
average_price:
type: number
format: float
description: Average price at which the qty got traded
example: 120.01
readOnly: true
disclosed_quantity:
type: integer
format: int32
description: The quantity that should be disclosed in the market depth
example: 1
readOnly: true
exchange_order_id:
type: string
description: Unique order ID assigned by the exchange for the order placed
example: 221013001021540
readOnly: true
exchange_timestamp:
type: string
description: User readable time at which the order was placed or updated
example: 03-Aug-2017 15:03:42
readOnly: true
instrument_token:
type: string
description: Identifier issued by Upstox used for subscribing to live market quotes
example: 151064324
readOnly: true
is_amo:
type: boolean
description: Signifies if the order is an After Market Order
example: false
readOnly: true
status_message:
type: string
description: Indicates the reason when any order is rejected, not modified or cancelled
readOnly: true
order_id:
type: string
description: Unique order ID assigned internally for the order placed
example: 221013001021541
readOnly: true
order_request_id:
type: string
description: Apart from 1st order it shows the count of how many requests were sent
example: 221013001021542
readOnly: true
order_type:
type: string
description: 'Type of order. It can be one of the following
MARKET refers to market order
LIMIT refers to Limit Order
SL refers to Stop Loss Limit
SL-M refers to
Stop loss market'
enum:
- MARKET
- LIMIT
- SL
- SL-M
example: MARKET
readOnly: true
parent_order_id:
type: string
description: In case the order is part of the second or third leg of a CO or OCO, the parent order ID is indicated
here
example: 221013001021543
readOnly: true
tradingsymbol:
type: string
deprecated: true
description: Shows the trading symbol of the instrument
example: GMR
readOnly: true
trading_symbol:
type: string
description: Shows the trading symbol of the instrument
example: GMR
readOnly: true
order_timestamp:
type: string
description: User readable timestamp at which the order was placed
example: 23-Apr-2021 14:22:06
readOnly: true
filled_quantity:
type: integer
format: int32
description: The total quantity traded from this particular order
example: 1
readOnly: true
transaction_type:
type: string
description: Indicates whether the order was a buy or sell order
enum:
- BUY
- SELL
example: BUY
readOnly: true
trigger_price:
type: number
format: float
description: If the order was a stop loss order then the trigger price set is mentioned here
example: 120.01
readOnly: true
placed_by:
type: string
description: Uniquely identifies the user
example: 200123
readOnly: true
variety:
type: string
description: Order complexity
example: SIMPLE
readOnly: true
GetOrderDetailsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/OrderBookData'
description: Response data for order details
GetOptionContractResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for option contracts
items:
$ref: '#/components/schemas/InstrumentData'
InstrumentData:
type: object
properties:
name:
type: string
segment:
type: string
exchange:
type: string
isin:
type: string
expiry:
type: string
format: date-time
country:
type: string
latency:
type: string
description:
type: string
currency:
type: string
weekly:
type: boolean
instrument_key:
type: string
exchange_token:
type: string
trading_symbol:
type: string
short_name:
type: string
tick_size:
type: number
format: double
lot_size:
type: integer
format: int64
instrument_type:
type: string
freeze_quantity:
type: number
format: double
underlying_key:
type: string
underlying_type:
type: string
underlying_symbol:
type: string
last_trading_date:
type: string
format: date-time
strike_price:
type: number
format: double
price_quote_unit:
type: string
qty_multiplier:
type: integer
format: int64
minimum_lot:
type: integer
format: int64
start_time:
type: string
end_time:
type: string
week_days:
type: string
general_denominator:
type: number
format: double
general_numerator:
type: number
format: double
price_numerator:
type: number
format: double
price_denominator:
type: number
format: double
mtf_enabled:
type: boolean
mtf_bracket:
type: number
format: double
security_type:
type: string
cas_eligible:
type: boolean
AnalyticsData:
type: object
properties:
vega:
type: number
format: double
theta:
type: number
format: double
gamma:
type: number
format: double
delta:
type: number
format: double
iv:
type: number
format: double
pop:
type: number
format: double
GetOptionChainResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for option chain data
items:
$ref: '#/components/schemas/OptionStrikeData'
MarketData:
type: object
properties:
ltp:
type: number
format: double
volume:
type: integer
format: int64
oi:
type: number
format: double
close_price:
type: number
format: double
bid_price:
type: number
format: double
bid_qty:
type: integer
format: int32
ask_price:
type: number
format: double
ask_qty:
type: integer
format: int32
prev_oi:
type: number
format: double
OptionStrikeData:
type: object
properties:
expiry:
type: string
format: date-time
pcr:
type: number
format: double
strike_price:
type: number
format: double
underlying_key:
type: string
underlying_spot_price:
type: number
format: double
call_options:
$ref: '#/components/schemas/PutCallOptionChainData'
put_options:
$ref: '#/components/schemas/PutCallOptionChainData'
PutCallOptionChainData:
type: object
properties:
instrument_key:
type: string
market_data:
$ref: '#/components/schemas/MarketData'
option_greeks:
$ref: '#/components/schemas/AnalyticsData'
GetNewsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/NewsItemData'
metadata:
$ref: '#/components/schemas/NewsResponseMetaData'
NewsItemData:
type: object
properties:
heading:
type: string
summary:
type: string
thumbnail:
type: string
article_link:
type: string
published_time:
type: integer
format: int64
NewsResponseMetaData:
type: object
properties:
page:
$ref: '#/components/schemas/NewsResponsePageData'
NewsResponsePageData:
type: object
properties:
page_number:
type: integer
format: int32
page_size:
type: integer
format: int32
total_records:
type: integer
format: int32
total_pages:
type: integer
format: int32
GetMutualFundSipsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Open SIP orders (active and paused).
items:
$ref: '#/components/schemas/MutualFundSipData'
meta_data:
$ref: '#/components/schemas/MutualFundMetaData'
description: Meta data for mutual fund sips
MutualFundMetaData:
type: object
properties:
page:
$ref: '#/components/schemas/Pagination'
MutualFundSipData:
type: object
properties:
fund:
type: string
description: Display name of the fund.
status:
type: string
description: ACTIVE, PAUSED, or CANCELLED.
created:
type: string
description: Timestamp when the SIP was registered.
frequency:
type: string
description: Frequency (e.g. monthly, weekly).
instalments:
type: integer
format: int64
description: Total number of instalments when applicable; -1 if open-ended.
sip_id:
type: string
description: Unique SIP identifier.
sip_reg_number:
type: string
description: SIP registration number when available.
instrument_key:
type: string
description: ISIN of the fund, when available.
dividend_type:
type: string
description: Dividend option when available (e.g. growth, idcw).
transaction_type:
type: string
description: BUY or SELL.
next_instalment:
type: string
description: Next instalment date.
instalment_amount:
type: number
format: double
description: Amount per instalment.
last_instalment:
type: string
description: Last triggered instalment timestamp.
pending_instalments:
type: integer
format: int64
description: Pending instalments when applicable.
instalment_day:
type: integer
format: int64
description: Day of month for monthly SIPs when applicable.
completed_instalments:
type: integer
format: int64
description: Completed instalment count when available.
trigger_price:
type: number
format: double
description: Trigger price when applicable.
sip_type:
type: string
description: SIP channel/type (e.g. sip, amc_sip).
Pagination:
type: object
properties:
page_number:
type: integer
format: int32
total_pages:
type: integer
format: int32
records:
type: integer
format: int32
total_records:
type: integer
format: int32
GetMutualFundOrdersResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Mutual fund orders in the requested window.
items:
$ref: '#/components/schemas/MutualFundOrderData'
meta_data:
$ref: '#/components/schemas/MutualFundMetaData'
description: Meta data for mutual fund orders
MutualFundOrderData:
type: object
properties:
status:
type: string
description: Current status of the order.
folio:
type: string
description: Folio number, when allotted.
fund:
type: string
description: Display name of the fund.
amount:
type: number
format: double
description: Order amount.
variety:
type: string
description: Order variety or channel-specific classification, if available.
quantity:
type: number
format: double
description: Units allotted or sold.
price:
type: number
format: double
description: Price or NAV used for the transaction, when available.
order_id:
type: string
description: Unique order identifier.
exchange_order_id:
type: string
description: Exchange-generated order id, if available.
instrument_key:
type: string
description: ISIN of the fund, when available.
status_message:
type: string
description: Human-readable status or rejection reason.
order_timestamp:
type: string
description: Timestamp when the order was registered.
exchange_timestamp:
type: string
description: Exchange date for the order, if available.
settlement_id:
type: string
description: Exchange settlement id, if available.
transaction_type:
type: string
description: BUY or SELL.
purchase_type:
type: string
description: FRESH or ADDITIONAL for buys, when available.
last_price:
type: number
format: double
description: Last known NAV.
average_price:
type: number
format: double
description: Allotted or sold NAV.
last_price_date:
type: string
description: Date for which last NAV is available.
GetMutualFundOrderDetailsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/MutualFundOrderData'
description: Mutual fund order details.
GetMutualFundHoldingsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Mutual fund holdings.
items:
$ref: '#/components/schemas/MutualFundHoldingData'
MutualFundHoldingData:
type: object
properties:
folio:
type: string
description: Folio number when available.
fund:
type: string
description: Fund display name when available.
pnl:
type: number
format: double
description: Unrealized P/L.
quantity:
type: number
format: double
description: Units held.
instrument_key:
type: string
description: ISIN of the fund, when available.
average_price:
type: number
format: double
description: Average cost per unit.
last_price:
type: number
format: double
description: Last available NAV.
last_price_date:
type: string
description: Date for which last NAV is available.
pledged_quantity:
type: number
format: double
description: Units pledged as collateral when applicable.
ExchangeTimingData:
type: object
properties:
exchange:
type: string
start_time:
type: integer
format: int64
end_time:
type: integer
format: int64
GetExchangeTimingResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for exchange timing list
items:
$ref: '#/components/schemas/ExchangeTimingData'
CasEligibleStatusData:
type: object
properties:
status:
type: string
description: The CAS (Collateral Auction Session / Closing Auction Session) status of the segment.
enum:
- NORMAL_OPEN
- NORMAL_CLOSE
- PRE_OPEN_START
- PRE_OPEN_END
- CLOSING_START
- CLOSING_END
- CTS_CLOSE
- CAS_LM_START
- CAS_M_STOP
- CAS_STOP
last_updated:
type: integer
format: int64
description: The timestamp (in milliseconds) when the CAS status was last updated.
GetMarketStatusResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/MarketStatusData'
description: Response data for market live status
MarketStatusData:
type: object
properties:
exchange:
type: string
status:
type: string
last_updated:
type: integer
format: int64
cas_eligible_status:
$ref: '#/components/schemas/CasEligibleStatusData'
description: CAS (Closing Auction Session) status of the segment. Present only for segments where CAS exists (e.g.
NSE_EQ); absent otherwise.
AnalyticsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data: {}
GetHolidayResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for holiday list
items:
$ref: '#/components/schemas/HolidayData'
HolidayData:
type: object
properties:
date:
type: string
format: date-time
description:
type: string
holiday_type:
type: string
enum:
- ALL
- SETTLEMENT_HOLIDAY
- TRADING_HOLIDAY
- SPECIAL_TIMING
closed_exchanges:
type: array
items:
type: string
open_exchanges:
type: array
items:
$ref: '#/components/schemas/ExchangeTimingData'
Depth:
type: object
properties:
quantity:
type: integer
format: int32
description: quantity
price:
type: number
format: double
description: price
orders:
type: integer
format: int32
description: orders
DepthMap:
type: object
properties:
buy:
type: array
description: Bids
example: 120.01
items:
$ref: '#/components/schemas/Depth'
readOnly: true
sell:
type: array
description: Asks
example: 120.01
items:
$ref: '#/components/schemas/Depth'
readOnly: true
GetFullMarketQuoteResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
$ref: '#/components/schemas/MarketQuoteSymbol'
MarketQuoteSymbol:
type: object
properties:
ohlc:
$ref: '#/components/schemas/Ohlc'
depth:
$ref: '#/components/schemas/DepthMap'
timestamp:
type: string
description: Time in milliseconds at which the feeds was updated
example: '2022-11-16 06:14:48'
readOnly: true
instrument_token:
type: string
description: Key issued by Upstox for the instrument
example: NSE_EQ|INE160A01022
readOnly: true
symbol:
type: string
description: Shows the trading symbol of the instrument
example: NHPC
readOnly: true
last_price:
type: number
format: double
description: The last traded price of symbol
example: 120.01
readOnly: true
volume:
type: integer
format: int64
description: The volume traded today on symbol
example: 2344451
readOnly: true
average_price:
type: number
format: double
description: Average price
example: 120.01
readOnly: true
oi:
type: number
format: double
description: Total number of outstanding contracts held by market participants exchange-wide (only F&O)
example: 0
readOnly: true
net_change:
type: number
format: double
description: The absolute change from yesterday's close to last traded price
example: 0.01
readOnly: true
total_buy_quantity:
type: number
format: double
description: The total number of bid quantity available for trading
example: 0
readOnly: true
total_sell_quantity:
type: number
format: double
description: The total number of ask quantity available for trading
example: 0
readOnly: true
lower_circuit_limit:
type: number
format: double
description: The lower circuit of symbol
example: 119.0
readOnly: true
upper_circuit_limit:
type: number
format: double
description: The upper circuit of symbol
example: 121.0
readOnly: true
last_trade_time:
type: string
description: Time in milliseconds at which last trade happened
example: '2022-11-16 06:14:48'
readOnly: true
oi_day_high:
type: number
format: double
example: 0
readOnly: true
oi_day_low:
type: number
format: double
example: 0
readOnly: true
Ohlc:
type: object
properties:
open:
type: number
format: double
description: The open price of the trading session
example: 120.01
readOnly: true
high:
type: number
format: double
description: The high price of the trading session
example: 121.0
readOnly: true
low:
type: number
format: double
description: The low price of the trading session
example: 119.0
readOnly: true
close:
type: number
format: double
description: The close price of the symbol from the previous session of trading
example: 120.0
readOnly: true
GetMarketQuoteOHLCResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
$ref: '#/components/schemas/MarketQuoteOHLC'
MarketQuoteOHLC:
type: object
properties:
ohlc:
$ref: '#/components/schemas/Ohlc'
last_price:
type: number
format: float
description: The last traded price of symbol
example: 120.01
readOnly: true
instrument_token:
type: string
GetMarketQuoteLastTradedPriceResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: object
additionalProperties:
$ref: '#/components/schemas/MarketQuoteSymbolLtp'
MarketQuoteSymbolLtp:
type: object
properties:
last_price:
type: number
format: double
description: The last traded price of symbol
example: 120.01
readOnly: true
instrument_token:
type: string
IpoInvestorType:
type: object
properties:
category:
type: string
description: Investor category the issue accepts. Pass this value as category when applying
enum:
- IND
- HNI
example: IND
description:
type: string
description: Human-readable name of the category; null when the IPO service does not provide one
example: Individual Investor
IpoListingData:
type: object
properties:
id:
type: string
description: IPO id (slug). Pass this as the id to the IPO details and apply APIs
example: mandb-engineering-limited-ipo
symbol:
type: string
description: Trading symbol of the issuer
example: MANDB
name:
type: string
description: Name of the issuer
example: M and B Engineering Limited
status:
type: string
description: Current stage of the IPO
enum:
- open
- closed
- listed
- upcoming
example: open
isin:
type: string
description: ISIN of the issue
example: INE0S5T01015
issue_type:
type: string
description: Issue type of the IPO. `regular` is a mainboard issue
enum:
- regular
- sme
example: regular
issue_size:
type: number
format: double
description: Total issue size in crores
example: 650.0
industry:
type: string
description: Industry the issuer operates in
example: Capital Goods
minimum_price:
type: number
format: double
description: Lower end of the price band, per share
example: 366.0
maximum_price:
type: number
format: double
description: Upper end of the price band, per share
example: 385.0
bidding_start_date:
type: string
description: Date bidding opens, in yyyy-MM-dd
example: '2026-10-08'
bidding_end_date:
type: string
description: Date bidding closes, in yyyy-MM-dd
example: '2026-10-10'
total_subscription:
type: string
description: Overall subscription so far; null until the issue opens
example: 2.5x
investors:
type: array
description: Investor categories the issue accepts. Empty when the listing data carries none — the IPO details API
is the authoritative source
items:
$ref: '#/components/schemas/IpoInvestorType'
IpoListingResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/IpoListingData'
meta_data:
$ref: '#/components/schemas/IpoMetaData'
IpoMetaData:
type: object
properties:
page:
$ref: '#/components/schemas/Pagination'
IpoDetailsData:
type: object
properties:
id:
type: string
description: IPO id (slug). Pass this as the id to the apply API
example: mandb-engineering-limited-ipo
symbol:
type: string
description: Trading symbol of the issuer
example: MANDB
name:
type: string
description: Name of the issuer
example: M and B Engineering Limited
status:
type: string
description: Current stage of the IPO
enum:
- open
- closed
- listed
- upcoming
example: open
isin:
type: string
description: ISIN of the issue
example: INE0S5T01015
issue_type:
type: string
description: Issue type of the IPO. `regular` is a mainboard issue
enum:
- regular
- sme
example: regular
issue_size:
type: number
format: double
description: Total issue size in crores
example: 650.0
industry:
type: string
description: Industry the issuer operates in
example: Capital Goods
minimum_price:
type: number
format: double
description: Lower end of the price band, per share
example: 366.0
maximum_price:
type: number
format: double
description: Upper end of the price band, per share
example: 385.0
bidding_start_date:
type: string
description: Date bidding opens, in yyyy-MM-dd
example: '2026-10-08'
bidding_end_date:
type: string
description: Date bidding closes, in yyyy-MM-dd
example: '2026-10-10'
daily_start_time:
type: string
description: Time bidding opens each day, in HH:mm IST
example: '10:00'
daily_end_time:
type: string
description: Time bidding closes each day, in HH:mm IST
example: '17:00'
face_value:
type: number
format: double
description: Face value of one share
example: 10.0
tick_size:
type: number
format: double
description: Minimum price increment for a bid
example: 1.0
lot_size:
type: integer
format: int32
description: Number of shares in one lot
example: 20
minimum_quantity:
type: integer
format: int32
description: Smallest quantity that can be bid for; bids must be in multiples of the lot size
example: 20
cut_off_price:
type: number
format: double
description: Cut-off price for retail applications
example: 850.0
listing_price:
type: number
format: double
description: Price the share listed at; null until listing
example: 1200.0
listing_exchange:
type: string
description: Exchange(s) the issue lists on. Comma-separated when the issue lists on more than one
example: BSE,NSE
rhp_url:
type: string
description: Link to the Red Herring Prospectus
example: https://example.com/rhp.pdf
drhp_url:
type: string
description: Link to the Draft Red Herring Prospectus
example: https://example.com/drhp.pdf
timeline:
$ref: '#/components/schemas/IpoTimeline'
description: Key dates for the issue, from pre-apply through listing
registrar_info:
$ref: '#/components/schemas/IpoRegistrarInfo'
description: Registrar handling the issue
total_subscription:
type: string
description: Overall subscription so far; null until the issue opens
example: 2.5x
investors:
type: array
description: Investor categories the issue accepts
items:
$ref: '#/components/schemas/IpoInvestorType'
IpoDetailsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/IpoDetailsData'
IpoRegistrarInfo:
type: object
properties:
name:
type: string
description: Name of the registrar handling the issue
example: Link Intime India Pvt Ltd
email:
type: string
description: Contact email for the registrar
example: ipo@linkintime.co.in
contact_name:
type: string
description: Contact person at the registrar
example: Investor Services
contact_number:
type: string
description: Contact number for the registrar
example: 022-49186200
website:
type: string
description: Registrar's website
example: https://linkintime.co.in
registrar:
type: string
description: SEBI registration number of the registrar
example: INR000004058
IpoTimeline:
type: object
properties:
pre_apply_start_date:
type: string
description: Date pre-apply opens, in yyyy-MM-dd
example: '2026-07-28'
application_start_date:
type: string
description: Date the issue opens for applications, in yyyy-MM-dd
example: '2026-10-08'
application_end_date:
type: string
description: Date the issue closes for applications, in yyyy-MM-dd
example: '2026-10-10'
allotment_start_date:
type: string
description: Date allotment processing starts, in yyyy-MM-dd
example: '2026-10-13'
allotment_date:
type: string
description: Date allotment is finalised, in yyyy-MM-dd
example: '2026-10-14'
refund_initiation_date:
type: string
description: Date refunds are initiated for unallotted applications, in yyyy-MM-dd
example: '2026-10-15'
listing_date:
type: string
description: Date the share lists on the exchange, in yyyy-MM-dd
example: '2026-10-16'
mandate_end_date:
type: string
description: Last date the UPI mandate can be approved, in yyyy-MM-dd
example: '2026-10-11'
IpoOrderBid:
type: object
properties:
quantity:
type: integer
format: int32
description: Number of shares bid for
example: 30
price:
type: number
description: Bid price per share
example: 150.3
amount:
type: number
description: Value of the bid, quantity x price
example: 4509.0
message:
type: string
description: Message from the exchange for this bid, when one was returned
example: Bid accepted
IpoOrderData:
type: object
properties:
id:
type: string
description: Reference id of the IPO the application was placed against
example: deepak-3188545e-93d5
symbol:
type: string
description: Trading symbol of the issuer
example: DBEIL
exchange:
type: string
description: Exchange the application was submitted to. Casing follows the exchange feed and may vary
example: nse
request_id:
type: string
description: Id of the request that created the application
example: LEGACY-1d7f24d7-aaee-4351-b726-b4f41fd0a0e9
order_id:
type: string
description: Application id. Pass this as order_id to the get-order and cancel-order APIs
example: 6715c003289265c3
status:
type: string
description: 'Lifecycle stage of the application. Known values: awaiting_mandate, ipo_allotted, ipo_not_allotted,
application_deleted'
example: ipo_allotted
order_status:
type: string
description: 'Outcome of the application. Known values: success, allotted, not_allotted'
example: allotted
payment_status:
type: string
description: 'State of the UPI mandate backing the application. Known values: pending, mandate_accepted'
example: mandate_accepted
category:
type: string
description: Investor category the application was placed under. IND (individual) and HNI can be applied for; EMP
appears on employee-quota applications
example: IND
issue_type:
type: string
description: Issue type of the IPO. `regular` is a mainboard issue
enum:
- regular
- sme
example: regular
reason:
type: string
description: Free-text reason from the exchange or registrar explaining the current status
example: alloted
upi:
type: string
description: UPI id the mandate was raised against
example: 9136776254@ybl
upi_amount_blocked:
type: string
description: Amount blocked in the applicant's bank account for this application, as a decimal string. Absent until
the mandate is accepted
example: 14819.0
nse_submitted_date:
type: string
description: When the application was submitted to NSE, in yyyy-MM-dd'T'HH:mm:ss; null if not submitted there
example: '2024-10-21T08:14:20'
bse_submitted_date:
type: string
description: When the application was submitted to BSE, in yyyy-MM-dd'T'HH:mm:ss; null if not submitted there
example: '2024-10-21T08:14:20'
mandate_approved_date:
type: string
description: When the UPI mandate was approved; null until approved
example: '2024-10-21T09:02:11'
rejection_date:
type: string
description: When the application was rejected; null unless rejected
example: '2024-10-22T11:30:00'
mandate_rejection_date:
type: string
description: When the UPI mandate was rejected; null unless rejected
example: '2024-10-22T11:30:00'
cancel_requested_date:
type: string
description: When cancellation was requested; null unless a cancellation was raised
example: '2024-10-23T10:15:00'
cancel_accepted_date:
type: string
description: When cancellation was accepted; null unless the cancellation completed
example: '2024-10-23T10:45:00'
units_allotted:
type: integer
format: int32
description: Shares allotted. 0 until allotment completes, and on applications that were not allotted
example: 73
bids:
type: array
description: Bids placed in this application
items:
$ref: '#/components/schemas/IpoOrderBid'
created_at:
type: string
description: When the application was created, in yyyy-MM-dd'T'HH:mm:ss
example: '2024-11-07T17:33:10'
last_updated_at:
type: string
description: When the application was last updated, in yyyy-MM-dd'T'HH:mm:ss
example: '2026-06-30T17:36:36'
IpoOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/IpoOrderData'
meta_data:
$ref: '#/components/schemas/IpoMetaData'
IpoOrderDetailResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/IpoOrderData'
SearchInstrumentResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
description: Response data for search instrument request
items:
$ref: '#/components/schemas/InstrumentData'
meta_data:
$ref: '#/components/schemas/SearchMetaData'
description: Meta data for search instrument response
SearchMetaData:
type: object
properties:
page:
$ref: '#/components/schemas/Pagination'
HistoryItem:
type: object
properties:
value:
type: number
format: double
description: Amount value in the reported period
example: 79392.0
readOnly: true
period:
type: string
description: Reporting period
example: Mar 2025
readOnly: true
change:
type: string
description: Percentage change compared to previous period
example: +7.29%
readOnly: true
ShareHoldingData:
type: object
properties:
category:
type: string
description: Category of shareholder
example: Promoters
readOnly: true
history:
type: array
description: Quarterly shareholding history
items:
$ref: '#/components/schemas/HistoryItem'
readOnly: true
ShareHoldingsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/ShareHoldingData'
CompanyProfileData:
type: object
properties:
company_profile:
type: string
description: Business description of the company
readOnly: true
sector:
type: string
description: Sector the company belongs to
example: Refineries
readOnly: true
sector_market_cap_inr:
$ref: '#/components/schemas/SectorMarketCapAmount'
description: Sector market capitalisation in INR
readOnly: true
sector_market_cap_usd:
$ref: '#/components/schemas/SectorMarketCapAmount'
description: Sector market capitalisation in USD
readOnly: true
CompanyProfileResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/CompanyProfileData'
SectorMarketCapAmount:
type: object
properties:
value:
type: number
format: double
description: Numeric value of the market capitalisation
example: 208.84
readOnly: true
unit:
type: string
description: Unit of the market capitalisation value
example: billion
readOnly: true
formatted:
type: string
description: Human-readable formatted market capitalisation
example: $208.84B
readOnly: true
KeyRatioData:
type: object
properties:
name:
type: string
description: Name of the ratio
example: P/E
readOnly: true
company_value:
type: string
description: Ratio value for the company
example: 20.15
readOnly: true
sector_value:
type: string
description: Ratio value for the sector reference
example: 12.46
readOnly: true
KeyRatiosResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/KeyRatioData'
FinancialStatementEntry:
type: object
properties:
particular:
type: string
description: Type of financial statement line item
example: Revenue
readOnly: true
history:
type: array
description: Historical values for this statement line item
items:
$ref: '#/components/schemas/HistoryItem'
readOnly: true
IncomeStatementData:
type: object
properties:
type:
type: string
description: 'Report type: consolidated or standalone'
example: consolidated
readOnly: true
time_period:
type: string
description: 'Time period: yearly or quarterly'
example: yearly
readOnly: true
units_in:
type: string
description: Unit of monetary values
example: crore
readOnly: true
income_statement:
type: array
description: Income statement entries grouped by type (Revenue, Operating profit, Net profit)
items:
$ref: '#/components/schemas/IncomeStatementEntry'
readOnly: true
full_statement:
type: array
description: List of financial statement income statement items with historical values
items:
$ref: '#/components/schemas/FinancialStatementEntry'
readOnly: true
IncomeStatementEntry:
type: object
properties:
category:
type: string
description: 'Type of income statement entry: Revenue, Operating profit, or Net profit'
example: Revenue
readOnly: true
history:
type: array
description: Historical values for this income statement type
items:
$ref: '#/components/schemas/HistoryItem'
readOnly: true
IncomeStatementResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/IncomeStatementData'
CorporateActionData:
type: object
properties:
name:
type: string
description: Type of corporate action
example: Dividend
readOnly: true
expiry_date:
type: string
description: Ex-date or expiry date of the action
example: 14
readOnly: true
amount:
type: number
format: double
description: Amount associated with the action
example: 5.5
readOnly: true
ratio:
type: string
description: Ratio for bonus or split actions
example: '2:10'
readOnly: true
event_details:
type: array
description: Detailed event fields for the corporate action
items:
$ref: '#/components/schemas/CorporateActionEventDetail'
readOnly: true
CorporateActionEventDetail:
type: object
properties:
name:
type: string
description: Name of the event detail field
example: Announcement date
readOnly: true
value:
type: string
description: Value of the event detail field
example: 25
readOnly: true
CorporateActionsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/CorporateActionData'
CashFlowData:
type: object
properties:
type:
type: string
description: 'Report type: consolidated or standalone'
example: consolidated
readOnly: true
time_period:
type: string
description: 'Time period: yearly or quarterly'
example: yearly
readOnly: true
units_in:
type: string
description: Unit of monetary values
example: crore
readOnly: true
cash_flow:
type: array
description: Cash flow entries grouped by type (Operating, Investing, Financing)
items:
$ref: '#/components/schemas/CashFlowEntry'
readOnly: true
full_statement:
type: array
description: List of financial statement cash flow items with historical values
items:
$ref: '#/components/schemas/FinancialStatementEntry'
readOnly: true
CashFlowEntry:
type: object
properties:
category:
type: string
description: 'Type of cash flow: Operating, Investing, or Financing'
example: Operating
readOnly: true
history:
type: array
description: Historical cash flow values for this type
items:
$ref: '#/components/schemas/HistoryItem'
readOnly: true
CashFlowResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/CashFlowData'
BalanceSheetData:
type: object
properties:
type:
type: string
description: 'Report type: consolidated or standalone'
example: consolidated
readOnly: true
time_period:
type: string
description: 'Time period: yearly or quarterly'
example: yearly
readOnly: true
units_in:
type: string
description: Unit of monetary values
example: crore
readOnly: true
history:
type: array
description: Historical balance sheet entries
items:
$ref: '#/components/schemas/BalanceSheetHistoryItem'
readOnly: true
full_statement:
type: array
description: List of financial statement balance sheet items with historical values
items:
$ref: '#/components/schemas/FinancialStatementEntry'
readOnly: true
BalanceSheetHistoryItem:
type: object
properties:
total_asset:
type: number
format: double
description: Total assets in the reported period
example: 1755986.0
readOnly: true
total_liability:
type: number
format: double
description: Total liabilities in the reported period
example: 830198.0
readOnly: true
period:
type: string
description: Reporting period
example: Mar 2024
readOnly: true
BalanceSheetResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/BalanceSheetData'
CompetitorData:
type: object
properties:
company_profile:
type: string
description: Business description of the company
readOnly: true
sector:
type: string
description: Sector the company belongs to
example: Refineries
readOnly: true
sector_market_cap_inr:
$ref: '#/components/schemas/SectorMarketCapAmount'
description: Sector market capitalisation in INR
readOnly: true
sector_market_cap_usd:
$ref: '#/components/schemas/SectorMarketCapAmount'
description: Sector market capitalisation in USD
readOnly: true
instrument_key:
type: string
description: Instrument key of the competitor company
example: NSE_EQ|INE029A01011
readOnly: true
CompetitorsResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/CompetitorData'
WebsocketAuthRedirectResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/WebsocketAuthRedirectResponseData'
description: Response data for WebsocketAuthRedirectResponse
WebsocketAuthRedirectResponseData:
type: object
properties:
authorizedRedirectUri:
type: string
deprecated: true
authorized_redirect_uri:
type: string
ExpiredFutureData:
type: object
properties:
name:
type: string
description: Name of the instrument
example: NIFTY
segment:
type: string
description: Segment of the instrument
example: NSE_FO
exchange:
type: string
description: Exchange of the instrument
example: NSE
expiry:
type: string
description: Expiry date of the instrument
example: '2024-12-26'
instrument_key:
type: string
description: Unique key identifying the instrument
example: NSE_FO|35005
exchange_token:
type: string
description: Token assigned by the exchange
example: 35005
trading_symbol:
type: string
description: Symbol used for trading
example: NIFTY FUT 26 DEC 24
tick_size:
type: number
format: double
description: Minimum price movement
example: 5
lot_size:
type: integer
format: int64
description: Number of units per lot
example: 25
instrument_type:
type: string
description: Type of the instrument
example: FUT
freeze_quantity:
type: number
format: double
description: Maximum allowed quantity
example: 1800
underlying_key:
type: string
description: Key of the underlying asset
example: NSE_INDEX|Nifty 50
underlying_type:
type: string
description: Type of the underlying asset
example: INDEX
underlying_symbol:
type: string
description: Symbol of the underlying asset
example: NIFTY
minimum_lot:
type: integer
format: int64
description: Minimum lot size
example: 25
GetExpiredFuturesContractResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/ExpiredFutureData'
GetExpiriesResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
type: string
TradeHistoryResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: array
items:
$ref: '#/components/schemas/TradeHistoryResponseTradeData'
metaData:
$ref: '#/components/schemas/TradeHistoryResponseMetaData'
TradeHistoryResponseMetaData:
type: object
properties:
page:
$ref: '#/components/schemas/TradeHistoryResponsePageData'
TradeHistoryResponsePageData:
type: object
properties:
page_number:
type: integer
format: int32
page_size:
type: integer
format: int32
total_records:
type: integer
format: int32
total_pages:
type: integer
format: int32
TradeHistoryResponseTradeData:
type: object
properties:
exchange:
type: string
segment:
type: string
option_type:
type: string
quantity:
type: integer
format: int32
amount:
type: number
format: float
trade_id:
type: string
trade_date:
type: string
transaction_type:
type: string
scrip_name:
type: string
strike_price:
type: string
expiry:
type: string
price:
type: number
format: float
isin:
type: string
symbol:
type: string
instrument_token:
type: string
BrokerageData:
type: object
properties:
total:
type: number
format: float
description: Total charges for the order
readOnly: true
brokerage:
type: number
format: float
description: Brokerage charges for the order
readOnly: true
taxes:
$ref: '#/components/schemas/BrokerageTaxes'
description: Taxes levied on order
readOnly: true
otherTaxes:
$ref: '#/components/schemas/OtherTaxes'
deprecated: true
description: Other charges levied
readOnly: true
dpPlan:
$ref: '#/components/schemas/DpPlan'
deprecated: true
description: DP charges related information
readOnly: true
other_charges:
$ref: '#/components/schemas/OtherTaxes'
dp_plan:
$ref: '#/components/schemas/DpPlan'
BrokerageTaxes:
type: object
properties:
gst:
type: number
format: float
description: GST charges
stt:
type: number
format: float
description: STT charges
stamp_duty:
type: number
format: float
description: Stamp duty charges
BrokerageWrapperData:
type: object
properties:
charges:
$ref: '#/components/schemas/BrokerageData'
description: Response data for charges details
DpPlan:
type: object
properties:
name:
type: string
description: Name
min_expense:
type: number
format: float
description: Minimum expense charges
GetBrokerageResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/BrokerageWrapperData'
description: Response data for brokerage
OtherTaxes:
type: object
properties:
transaction:
type: number
format: float
description: Transaction charges
clearing:
type: number
format: float
description: Clearing charges
ipft:
type: number
format: float
description: IPF charges
sebi_turnover:
type: number
format: float
description: SEBI turnover charges
GttCancelOrderRequest:
type: object
properties:
gtt_order_id:
type: string
description: Unique identifier of the GTT order to be cancelled
example: GTT-12345678
pattern: ^GTT-.+$
required:
- gtt_order_id
CancelOrderData:
type: object
properties:
order_id:
type: string
description: Reference order ID
example: 1644490272000
readOnly: true
CancelOrderV3Response:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/CancelOrderData'
metadata:
$ref: '#/components/schemas/OrderMetadata'
CancelOrderResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/CancelOrderData'
description: Response data for Cancel order request
LogoutResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
type: boolean
description: Logout status
OAuthClientException:
type: object
properties:
cause:
type: object
properties:
stackTrace:
type: array
items:
type: object
properties:
classLoaderName:
type: string
moduleName:
type: string
moduleVersion:
type: string
methodName:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
className:
type: string
nativeMethod:
type: boolean
message:
type: string
localizedMessage:
type: string
stackTrace:
type: array
items:
type: object
properties:
classLoaderName:
type: string
moduleName:
type: string
moduleVersion:
type: string
methodName:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
className:
type: string
nativeMethod:
type: boolean
message:
type: string
suppressed:
type: array
items:
type: object
properties:
stackTrace:
type: array
items:
type: object
properties:
classLoaderName:
type: string
moduleName:
type: string
moduleVersion:
type: string
methodName:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
className:
type: string
nativeMethod:
type: boolean
message:
type: string
localizedMessage:
type: string
localizedMessage:
type: string
IpoCancelData:
type: object
properties:
order_id:
type: string
description: Application id that was cancelled
example: 6715c003289265c3
status:
type: string
description: Free-text message returned by the IPO service for the cancellation request
IpoCancelResponse:
type: object
properties:
status:
type: string
enum:
- success
- error
- partial_success
data:
$ref: '#/components/schemas/IpoCancelData'
securitySchemes:
OAUTH2:
type: oauth2
scheme: BEARER
flows:
authorizationCode:
authorizationUrl: https://api-v2.upstox.com/v2/login/authorization/dialog
tokenUrl: https://api-v2.upstox.com/v2/login/authorization/token
scopes:
read: Read access
write: Write access