View as Markdown

Reports

UpHeron adds up what it keeps for as long as a monitor exists, its daily uptime and its incidents, into reports: an email every week or month, and on Business SLA reports for any range, raw check downloads and reports under your own brand. Every period is in whole UTC days, like the daily uptime they are built from.

Free Pro Business
Uptime reports by email Monthly Weekly or monthly Weekly or monthly
SLA and MTTR reports, CSV and PDF — — ✓
Raw check export, CSV and JSON — — ✓
Reports under your own name and logo — — ✓

Uptime reports by email

In the dashboard, open Reports, turn on Send uptime reports, choose how often, which monitors (all, or one tab's) and who gets them, and save. Reports go to the workspace's confirmed email contacts, up to 25; add an address under Settings → Notification contacts and open the link we send it first.

Each report has every monitor's uptime (the share of checks that passed), downtime, incidents and average response time, and the totals, each compared with the period before. The monitors with the lowest uptime come first; an email lists 25 by name and counts the rest. Code repository monitors have no uptime and are left out.

  • Weekly reports cover Monday to Sunday and go out on Monday at 06:00 UTC. Monthly reports cover the calendar month and go out on the 1st at 06:00 UTC. The hours after midnight leave time for late results.
  • Turning reports on, or changing how often, starts with the next whole period: nothing old is sent.
  • Each period goes to each recipient once. A period in which none of the monitors had a check sends nothing.
  • Send preview sends the last whole period's report to one contact right away, without changing the schedule.
  • Every report has a one-click unsubscribe link (and the List-Unsubscribe header). It takes the address off the report's recipients; its outage alerts are not affected.

If the plan changes to Free, weekly reports go out monthly until it is paid again.

SLA reports

On Business, Reports → SLA reports shows, for this or last month, this or last quarter, the last 30 days or any range, and a target such as 99.9%:

  • Availability: the time each monitor was checked outside incidents, from the confirmed outage to recovery. A failed check that opened no incident (below the monitor's failure threshold or location confirmation) is not downtime, and maintenance windows open no incidents. Days without checks, such as while a monitor was paused, are not counted.
  • Downtime budget: the downtime the target allows over that time, how much of it was used, and what is left (or how far over it went).
  • Incidents that started in the range, MTTR (the mean time to recovery of those that recovered), MTBF (the time up between failures) and the longest outage.
  • Checks passed: the share of successful checks, as the dashboard's uptime shows it, and the average response time.

The report covers all monitors, a tab's or the ones you choose, the lowest availability first, with a total row. CSV downloads it as a spreadsheet and Print or save as PDF prints the report alone, without the dashboard around it.

From the API, GET /api/v1/reports/sla?from=2026-07-01&to=2026-09-30&target=99.9 returns the same figures as JSON (durations in seconds), and &format=csv the spreadsheet. AI agents can call the get_sla_report MCP tool.

curl "https://upheron.com/api/v1/reports/sla?from=2026-07-01&to=2026-09-30&target=99.9&format=csv" \
  -H "X-API-Key: $UPTIME_MONITOR_API_KEY" -o sla.csv

Raw check export

On Business, a monitor's Export menu downloads every check result it still keeps, as CSV or JSON: each check of the last day, and older ones merged by outcome per quarter-hour and then per hour (a row stands for repeats checks up to last_checked_at), for as long as the plan keeps them. Daily uptime downloads as CSV on every plan, from the same menu.

curl "https://upheron.com/api/v1/monitors/$ID/results/export?format=json&from=2026-10-20" \
  -H "X-API-Key: $UPTIME_MONITOR_API_KEY" -o checks.json

from and to take UTC days or ISO 8601 times. Exports stream, so a large one starts at once; a workspace can start 10 a minute.

Your brand on reports

On Business, Reports → Reports under your own brand takes a name, a logo (an https:// address of a PNG or JPEG about 60 pixels high) and a reply-to address. Once one of them is saved, report emails and SLA reports show your name and logo instead of UpHeron's and leave out links to the UpHeron dashboard, for reports you send to clients. Report emails are still sent from UpHeron's address, under your name, and replies go to your address. Clear the fields to go back to UpHeron's branding.

The same settings are in the API as GET and PUT /api/v1/reports (brand_name, logo_url, reply_to, and the schedule's enabled, frequency, tab_id and alert_channel_ids); see the API reference.