Alerts
List alerts
Every alert rule on this site.
List alerts
curl --request GET \
--url 'https://truestat.io/api/v1/sites/{siteId}/alerts' \
--header 'Authorization: Bearer <token>'{
"data": [
{
"id": "a31d9c6b-75db-4951-a0a1-f87e4622b718",
"body": null,
"name": "Signups stopped",
"enabled": true,
"subject": null,
"goal_name": "signup",
"threshold": null,
"created_at": "2026-09-16T18:00:00.000Z",
"created_by": "734c7de3-58f1-46e6-83d1-2be85466ee70",
"updated_at": "2026-09-16T18:00:00.000Z",
"trigger_type": "goal",
"last_fired_at": null,
"threshold_mode": "absolute"
}
],
"meta": {
"page": {
"limit": 100,
"offset": 0,
"has_more": false
},
"site_id": "6fed8980-a119-4a9c-a4d4-53e448ef9f9e"
}
}See Alerts for the two trigger shapes, what
threshold_mode means, and why an alert belongs to the site rather than to
whoever created it.
Authorizations
AuthorizationstringheaderrequiredAn API key from Settings → API keys. Scopes available: analytics:read, sites:read, sites:write, settings:read, settings:write, goals:read, goals:write, funnels:read, funnels:write, notes:read, notes:write, alerts:read, alerts:write, team:read, team:write, revenue:read, revenue:write.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path parameters
siteIdstring (uuid)pathrequiredThe site's id, from `GET /sites`. A site that is not yours and a site that does not exist both answer 403, so this cannot be used to discover other people's ids.
Query parameters
limitintegerquerydefault: 100Rows per page, 1 to 1000.
offsetintegerquerydefault: 0Rows to skip.
Response
The answer.
dataunknownSee the example.
metaobjecterrorobjecterrorobjecterrorobjecterrorobject