Modify GTT Order
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
- To place GTT orders with a SELL leg, EDIS authorization is required.
- You can authorize EDIS from any of our platforms—Web, iOS, or Android by placing a GTT order.
- Once authorized on any one platform, it will also be valid for API-based orders. You don't need to complete the order; simply going through the authorization flow is sufficient.
- We currently support a maximum of three rules with no duplicate strategies.
- Receiving GTT order updates via Webhook requires additional setup, detailed here.
- Receiving GTT order updates via WebSocket requires additional setup, detailed here.
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
- Single-Leg
- Multi-Leg
- Trailing Stop Loss
{
"type": "SINGLE",
"quantity": 1,
"rules": [
{
"strategy": "ENTRY",
"trigger_type": "BELOW",
"trigger_price": 30
}
],
"gtt_order_id": "GTT-CU25090600027002"
}
{
"type": "MULTIPLE",
"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
}
]
}
{
"type": "MULTIPLE",
"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,
"trailing_gap": 0.1
},
{
"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 | The quantity for which the order is to be placed. Note that once an order has reached OPEN status, its quantity cannot be modified. |
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. Having an ENTRY rule is mandatory. 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 . Note: In case of ENTRY strategy and order status as OPEN only IMMEDIATE trigger_type is allowed.Possible values: 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 - Limit order at user-specified price is sent immediately to the exchange irrespective of the LTP. This order is valid for a day. If the primary leg gets completed then SL and Target legs are valid for 365 days. |
rules[].trigger_price | true | float | The price at which the order should be triggered based on the defined condition. |
rules[].trailing_gap | false | float | Only applicable for STOPLOSS strategy for TSL orders. This defines the consistent gap between your stop-loss and the market price, letting your stop-loss trail automatically. |
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. |
UDAPI1150 | Only IMMEDIATE trigger type is allowed when modifying open GTT orders - Once a GTT order is in open status, modifications can only use the IMMEDIATE trigger type. |
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...