Returns your viral alerts (active first, then recently ended, up to 100) with the watched profile, destination email and whether it is confirmed, threshold and score window, post age window, preferred send hour and timezone, emails sent out of the cap, paused or ended reason, expiry and the last email time. Free to call. Use it to audit what is being watched, to check whether a third-party address has confirmed, or to grab an alertId for delete_viral_alert.
One free call shows every viral alert you have: which profile it watches, where it emails, whether that address confirmed, the threshold, how many of its emails are used and when it ends. It is the audit view behind create_viral_alert.
GET /api/v1/alerts. Authenticate with your API key. Same call in three languages:
cURL
curl -X GET "https://viraloutliers.com/api/v1/alerts" \
-H "Authorization: Bearer so_live_YOUR_KEY"Python (requests)
import requests
r = requests.get(
"https://viraloutliers.com/api/v1/alerts",
headers={"Authorization": "Bearer so_live_YOUR_KEY"},
)
print(r.json())JavaScript (fetch)
const res = await fetch("https://viraloutliers.com/api/v1/alerts", {
method: "GET",
headers: { "Authorization": "Bearer so_live_YOUR_KEY" },
});
const data = await res.json();
console.log(data);Each alert with its profile handle and platform, destination email and emailConfirmed flag, minOutlierScore and scoreWindow, postAgeDays, sendHour and timezone, emailsSent out of maxEmails, active state, pausedReason (for example insufficient credits), endedReason (expired, max_emails, deleted, unsubscribed), expiresAt and lastEmailedAt. Active alerts come first; ended ones follow so you can see what already fired.
Check it after creating an alert for someone else: emailConfirmed tells you whether they clicked the link yet. Check it when a user asks why no email came: a pausedReason of insufficient credits or an unconfirmed address is the usual answer. And use it to fetch alertIds for cleanup with delete_viral_alert.
This skill is free and never spends credits.
Call list_viral_alerts: each alert carries an emailConfirmed flag. Until it is true, hits are collected but no email is sent.
The list shows why: endedReason max_emails means it sent its three emails, expired means expiresInDays passed, and pausedReason insufficient_credits means the last digest could not be charged and will be retried after a top-up.
No. Listing is free, like creating and deleting. Credits are spent only on the refresh crawls behind the alert and on each alert email actually sent.
Also available as an MCP tool.
Related topics: viral alert status · alert email confirmation · monitoring alert audit