Original alert type. Immutable — must match the value the alert was created with.
Cannot be changed
validity
string
Required
Validity of the alert.
DAY, GTT
d
string
Optional
New value to compare against LTP.
Numeric string
remarks
string
Required
Free-text message.
Free text
Alert type is fixedai_t must be resent unchanged with every modify call — there is no way to convert an LTP alert into an ATP alert in place. Cancel and re-create instead.
Request Examples
import requests, json
payload = {
"uid": "AB1234",
"al_id": "210408000000004",
"tsym": "RELIANCE-EQ",
"exch": "NSE",
"ai_t": "LTP", # must match the original alert's type"validity": "DAY",
"d": "2550",
"remarks": "breakout-watch-revised",
}
data = f"jData={json.dumps(payload)}&jKey={accessToken}"
response = requests.post(
"https://api.shoonya.com/NorenWClientAPI/ModifyAlert",
data=data,
)
print(response.json())
Success/failure indication (status string on success).
al_id
The modified Alert ID, echoed back on success.
emsg
Present only on failure.
Best Practices
Always resend the full set of required fields (tsym, exch, ai_t, validity, remarks), not just the field you're changing — this looks like a full replace of the alert, not a partial patch.
Fetch the alert's current values before modifying if you don't have them cached locally, so you don't accidentally overwrite remarks or validity with stale data.
To change the alert type itself, cancel and re-create via Set Alert instead of trying to force it through here.
API Endpoint
POSThttps://api.shoonya.com/NorenWClientAPI/ModifyAlertapplication/x-www-form-urlencodedjData=<JSON payload>&jKey=<AccessToken>Parameters
DAY,GTTai_tmust be resent unchanged with every modify call — there is no way to convert anLTPalert into anATPalert in place. Cancel and re-create instead.Request Examples
Response
Best Practices
tsym,exch,ai_t,validity,remarks), not just the field you're changing — this looks like a full replace of the alert, not a partial patch.remarksorvaliditywith stale data.