Trading
Alerts
Create, modify, delete price alerts; the alerts stream.
A parallel, symbol-agnostic flow — an alert can reference any symbol, not just the one currently charted.
createAlert / modifyAlert / deleteAlert
void createAlert(String params);
void modifyAlert(String params);
void deleteAlert(String alertId);createAlert params:
{ "symbolId": "IDX_-1_NSE", "ltp": "25500.00", "triggerPrice": "26000.00" }modifyAlert is the same shape plus "alertId". deleteAlert's alertId is the plain
string.
| Field | Type | Accepted values |
|---|---|---|
alertId | String | optional; only present for modifyAlert |
symbolId | String | required; the alert's symbol |
ltp | String | required; string, not a number — the current LTP at request time; the host app decides above/below-market from it, not the SDK |
triggerPrice | String | required; string, not a number |
alertsStreamer
Stream<String> get alertsStreamer;Must be a broadcast stream.
[
{
"alertId": "357807025062912",
"symbolInfo": { "id": "IDX_-1_NSE", "name": "NIFTY" },
"triggerPrice": "25003",
"enabled": true,
"triggered": false,
"createdAt": 1769509922000
}
]| Field | Type | Accepted values |
|---|---|---|
alertId | String | required; unique alert identifier |
symbolInfo | object | required; full symbolInfo shape — key is symbolInfo, not symbol (unlike Orders/Positions, which nest it under symbol); an alert can be for any symbol, not just one on screen |
triggerPrice | String | required; string, not a number |
enabled | bool | required; whether the alert is active |
triggered | bool | required; whether it has already fired |
createdAt | int | required; epoch milliseconds, UTC |
Alert create/modify/delete feedback (success, rejection) shows up via
actionFeedbackStreamer — the same shared
stream Orders and OCO use, documented once on the Orders page.