Modify a GTT (dry run by default)
modify_gtt_orderUpdate an active GTT by sending its complete new trigger definition; validation runs as a dry run by default before sending live.
Instructions
Modify an ACTIVE GTT. Kite replaces the whole trigger, so send its complete new definition: call get_gtt first and change only what you mean to change. The fields are those of place_gtt_order, with the same rules. DRY RUN BY DEFAULT, confirmed like place_gtt_order.
Safety: the new orders are checked against the per-order cap and the allow-lists. A modification takes no new slot of the daily order count; only the increase over the stored trigger's value counts toward the day's value cap. Returns the trigger_id when sent.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"trigger_id": "<trigger_id>",
"type": "<type>",
"exchange": "<exchange>",
"tradingsymbol": "<tradingsymbol>",
"trigger_values": "<trigger_values>",
"last_price": "<last_price>",
"orders": "<orders>"
},
"name": "modify_gtt_order"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | single: one trigger, one order. two-leg: OCO, two triggers, two orders | |
| orders | Yes | the order(s) to place: one for single, two for two-leg | |
| dry_run | No | true (default): validate and preview only, nothing is sent. false: send it live, which needs live trading enabled on the server and the confirmation_token from a dry run | |
| exchange | Yes | exchange of the instrument: NSE, BSE (equity), NFO, BFO (F&O), CDS, BCD, MCX | |
| last_price | Yes | the instrument's CURRENT price in INR (get_ltp / get_quotes / get_holdings). Kite uses it to decide which way each trigger fires, so it must be fresh | |
| trigger_id | Yes | the GTT's trigger_id (see get_gtts) | |
| tradingsymbol | Yes | tradingsymbol, e.g. INFY | |
| trigger_values | Yes | trigger prices in INR, on the tick size: ONE value for single; TWO for two-leg, the lower first (trigger_values[i] fires orders[i]) | |
| confirmation_token | No | the confirmation_token returned by a dry run of this exact call (single use) |