Set a market alert
MCP tool: set_market_alert
With action on, the alert is created or the settings you send replace the current ones. Anything you leave out keeps its value, or the default for a new alert: large trades on and resolution on.
priceLevels replaces the whole list. A level fires when the YES price rises to it (above) or falls to it (below), once unless repeat is true.
Alerts arrive in the inbox, on Telegram when it is connected, and as the market.alert webhook.
Requires a key with the write scope.
Body parameters
marketRefstringrequiredHandle from the feed, market search or the watched markets list.
actionstringrequired"on" or "off".
largeTradesobjectenabled, minAmountUsd (null for any large trade), side (any, yes or no), namedOnly, maxPerDay.
priceLevelsobject[]Up to 4 of { direction, price, repeat }. price is 0 to 1.
priceMovePointsnumberPoints the price must move inside an hour. null turns it off.
surgebooleanAlert when the last hour trades far above the market's usual hour.
resolvedbooleanAlert when the market settles.
Response
action off returns { "watching": false, "alert": null }. An account can watch 50 markets.
curl -X POST https://api.rivo.markets/v1/market-alerts \
-H "Authorization: Bearer rivo_live_..." \
-H "Content-Type: application/json" \
-d '{
"marketRef": "a2Fsc2hpOm1hcmtldDpL...",
"action": "on",
"priceLevels": [
{
"direction": "above",
"price": 0.6
}
]
}'import requests
r = requests.post(
"https://api.rivo.markets/v1/market-alerts",
headers={"Authorization": "Bearer rivo_live_..."},
json={
"marketRef": "a2Fsc2hpOm1hcmtldDpL...",
"action": "on",
"priceLevels": [
{
"direction": "above",
"price": 0.6,
},
],
},
)
print(r.json()["data"])const res = await fetch("https://api.rivo.markets/v1/market-alerts", {
method: "POST",
headers: {
Authorization: "Bearer rivo_live_...",
"Content-Type": "application/json",
},
body: JSON.stringify({
marketRef: "a2Fsc2hpOm1hcmtldDpL...",
action: "on",
priceLevels: [
{
direction: "above",
price: 0.6,
},
],
}),
});
const { data } = await res.json();{
"success": true,
"data": {
"watching": true,
"alert": {
"marketRef": "a2Fsc2hpOm1hcmtldDpL...",
"platform": "kalshi",
"marketTitle": "Will the Fed cut in December?",
"enabled": true,
"settled": false,
"largeTrades": { "enabled": true, "minAmountUsd": null, "side": "any", "namedOnly": false, "maxPerDay": 10 },
"priceLevels": [{ "direction": "above", "price": 0.6, "repeat": false, "outcome": null }],
"priceMovePoints": null,
"surge": false,
"resolved": true
}
}
}