Your account
Create and remove price alerts
List, create, and remove price alerts. Up to 20 active per account.
GET lists your alerts, newest first, active and triggered alike. POST arms one. DELETE ?id=N removes one by id, idempotently. A cron sweep evaluates active alerts and fires each once, notifying you when the price crosses your threshold.
GET, POST, DELETE /api/alerts · requires a Privy bearer token, 401 without one. Base URL, rate limits, and error shapes: conventions.
Request body (POST)
Section titled “Request body (POST)”| Field | Type | Required | Description |
|---|---|---|---|
symbol |
string (1 to 12 chars) | yes | A ticker from the 95-asset catalog, per GET /api/market. |
direction |
"above" or "below" |
yes | Fire when the price rises above or falls below threshold. |
threshold |
number (> 0, ≤ 10000000) | yes | The USD price that arms it. |
DELETE takes one query parameter, id, a positive integer from GET.
Alert fields
Section titled “Alert fields”| Field | Type | Description |
|---|---|---|
id |
number | Stable id, used for delete. |
symbol |
string | The ticker the alert watches. |
direction |
"above" | "below" |
Which crossing fires it. |
threshold |
number | The USD price that arms it. |
active |
boolean | true until it fires, then false. |
createdAt |
number | Unix seconds when created. |
triggeredAt |
number | null | Unix seconds when it fired, else null. |
Example
Section titled “Example”# listcurl https://monvera.best/api/alerts -H "Authorization: Bearer $MONVERA_TOKEN"
# arm: notify when NVDA falls below $120curl -X POST https://monvera.best/api/alerts \ -H "Authorization: Bearer $MONVERA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"symbol":"NVDA","direction":"below","threshold":120}'
# removecurl -X DELETE "https://monvera.best/api/alerts?id=42" \ -H "Authorization: Bearer $MONVERA_TOKEN"POST and DELETE return {"ok":true}. GET returns:
{ "alerts": [ { "id": 42, "symbol": "AAPL", "direction": "above", "threshold": 250, "active": true, "createdAt": 1751884800, "triggeredAt": null } ]}Errors
Section titled “Errors”| Status | Body | When |
|---|---|---|
| 400 | {"error":"Invalid alert."} |
POST body fails validation: bad direction, non-positive threshold, or symbol over 12 chars. |
| 400 | {"error":"Unknown symbol."} |
symbol is not one of the 95 catalog assets. |
| 400 | {"error":"Alert limit reached (20)."} |
You already hold 20 active alerts. |
| 400 | {"error":"Invalid id."} |
DELETE id is missing or not a positive integer. |
The 20-alert cap counts only alerts where active is true, so a triggered alert frees a slot.
© 2026 Aibora · Documentation interface. Original Monvera materials retain their upstream attribution andMIT license.