Modify GTT Order Beta
This API allows to modify an existing Good Till Trigger (GTT) order by modifying its parameters, such as quantity, trigger price, or strategy rules. This ensures flexibility in adjusting trade conditions without canceling and re-creating the order.
Note
- EDIS validation for Equity GTT orders must be performed on Upstox Pro by placing a GTT order and authorizing EDIS. Validating EDIS for any scrip applies to all scrips. You may choose not to place the order on Upstox Pro after validation, as it is a separate step. Once validated, the API can place GTT equity SELL orders without issues.
- We currently support a maximum of three rules with no duplicate strategies.
Header Parameters
Name | Required | Type | Description |
---|---|---|---|
Authorization | true | string | Requires the format Bearer access_token where access_token is obtained from the Token API. |
Content-Type | true | string | Indicates the media type of the resource, set as application/json . |
Accept | true | string | Defines the content format the client expects, which should be set to application/json . |
Request Body
{
"type": "SINGLE",
"quantity": 1,
"gtt_order_id": "GTT-221130000253265",
"rules": [
{
"strategy": "ENTRY",
"trigger_type": "BELOW",
"trigger_price": 2.57
},
{
"strategy": "TARGET",
"trigger_type": "IMMEDIATE",
"trigger_price": 2.6
},
{
"strategy": "STOPLOSS",
"trigger_type": "IMMEDIATE",
"trigger_price": 2.55
}
]
}
Name | Required | Type | Description |
---|---|---|---|
type | true | string | Specifies the GTT order type. Indicates if it's a single or multi-leg order. Possible values: SINGLE , MULTIPLE . |
quantity | true | integer | Quantity with which the order is to be placed. |
gtt_order_id | true | string | The order ID for which the order must be modified. |
rules | true | array | Contains the conditions under which the order should be triggered. |
rules[].strategy | true | string | Defines the role of the rule. Possible values: ENTRY , TARGET , STOPLOSS ENTRY - The initial condition to place a BUY or SELL order when the trigger price is met. TARGET - A condition to exit the position once the desired price level is reached after the ENTRY order is executed. STOPLOSS - A condition to exit the position when the price moves unfavorably beyond a set threshold. |
rules[].trigger_type | true | string | Specifies the condition for triggering the order. The ENTRY strategy can have ABOVE , BELOW , or IMMEDIATE , whereas TARGET and STOPLOSS strategies can only have IMMEDIATE . Possible values: BELOW , ABOVE , IMMEDIATE BELOW - The order is triggered when the market price drops below the defined trigger price. ABOVE - The order is triggered when the market price rises above the defined trigger price. IMMEDIATE - The order is triggered when the market price matches the defined trigger price. |
rules[].trigger_price | true | float | The price at which the order should be triggered based on the defined condition. |
Responses
- 2XX
- 4XX
Response Body
{
"status": "success",
"data": {
"gtt_order_ids": ["GTT-CU25280200021013"]
},
"metadata": {
"latency": 74
}
}
Name | Type | Description |
---|---|---|
status | string | A string indicating the outcome of the request. Possible values: success , error |
data | object | Response data for modify order request. |
data.gtt_order_ids[] | string | An array holding the GTT Order ID for the request placed |
metadata | object | Metadata information. |
metadata.latency | integer | The overall time taken by API platform to process the request, measured in milliseconds. |
Error Codes
Error Code | Description |
---|---|
UDAPI1126 | Valid GTT type is required - The request must specify a valid GTT type. |
UDAPI1127 | The 'type' is invalid - The provided GTT type is not recognized. |
UDAPI1128 | GTT rules are required - At least one valid rule must be specified. |
UDAPI1129 | GTT strategy is required - A strategy must be defined for the GTT order. |
UDAPI1130 | Invalid GTT strategy specified - The provided strategy is not supported. |
UDAPI1131 | GTT trigger_type is required - A trigger type must be specified. |
UDAPI1132 | Invalid GTT trigger_type specified - The provided trigger type is not recognized. |
UDAPI1133 | GTT trigger_price is required - A trigger price must be provided. |
UDAPI1134 | gtt_order_id is required - The request must include a valid GTT order ID. |
UDAPI1135 | GTT order ID must start with 'GTT-' - The order ID should follow the required format. |
UDAPI1136 | For SINGLE type, rules list must contain exactly one rule - A SINGLE type GTT can have only one rule. |
UDAPI1137 | For MULTIPLE type, the rules list must have at least 2 rules but no more than 3 - MULTIPLE type GTT orders must adhere to this rule limit. |
UDAPI1138 | Rules contain an invalid strategy - One or more rules have an unsupported strategy. |
UDAPI1139 | A strategy can only be used once in the rules - Duplicate strategies are not allowed in the rules list. |
UDAPI1140 | Trigger price must be a positive value - Negative or zero trigger prices are not valid. |
UDAPI1141 | One ENTRY strategy is required - At least one ENTRY strategy must be included in the rules. |
UDAPI1142 | Rules contain an invalid trigger_type - One or more rules have an unsupported trigger type. |
UDAPI1143 | Non-ENTRY strategies must have only IMMEDIATE trigger type - Only the IMMEDIATE trigger type is allowed for non-ENTRY strategies. |
Examples
A comprehensive set of examples is provided to illustrate various use cases and implementation scenarios for this API. To view detailed examples and access sample code, please refer to: API Examples.
Loading...