Reports
Every team gets a monthly report: an email on the 1st of each month and the same report as a PDF, ready to forward to a client. Every monitor also has its own PDF report for any period from 7 days to 12 months.
The monthly report
The report covers the previous calendar month for every monitor of the team:
- Summary: availability, confirmed incidents and recommended actions, with what changed and why it matters.
- Services: availability, downtime, median and 95th-percentile response time, certificate and domain expiry, and the state of each monitor at the end of the month, plus the mean response time of the last four months.
- Quality signals: the latest Lighthouse scores, Core Web Vitals, security headers, IP blacklists, broken links and DNS changes, where those checks are set up.
- Scheduled jobs and server agents, with their missed runs.
- Incidents: the longest one as a timeline (detected, notified, first update, recovered), and a list of all of them. An AI incident analysis you created for an incident is quoted with its date.
- Recommended actions: each one follows from a measurement in the report, such as a certificate that expires within 30 days or a failing check. The report says what to check, not who should do it.
- Scope & method: the reporting window and how each figure is measured.
Every figure comes from the stored results of your checks. Availability is the share of successful checks, with scheduled maintenance windows left out. Downtime is the total length of the incidents that started in the month; one still open counts until the end of the month. Response times come from successful checks only. Monitors show their hostname, never the full URL.
Download the PDF
- Go to Settings → Team → Email delivery, section Monthly Report.
- Under PDF report, pick a month: last month, any of the twelve before it, or the current month so far.
- Click Download PDF.
Every team member can download it; only admins can change the email settings. The same PDF is attached to the monthly email.
Branding
The PDF carries your team's branding: its logo, its colours (the dark and accent tones are derived from your primary colour) and its name. If your team is managed by a reseller, the report carries the reseller's branding and nothing of Hoppla. When no logo is set, the name is printed instead.
AI-written summary
On Starter and above you can have the three summary texts of the PDF (the overview, what changed and why it matters) written with AI assistance. Switch on AI-written summary in the PDF in the monthly report settings.
- The AI only writes prose. It is given the figures of the report and asked to describe them without stating any number. Every text it returns is checked, and any text that contains a digit, a number word, a percentage, a link or formatting is dropped and replaced by the standard sentence. The figures in the PDF always come from your monitoring data.
- The PDF marks the summary as written with AI assistance.
- It is used in the report you download and in the automatic monthly email.
- The number of AI summaries per month depends on your plan (Starter 2, Pro 10). Downloading the same report again does not count again. When the monthly allowance is used up, the PDF uses the standard sentences.
The data sent for a summary is the team name, monitor and job names, hostnames (no paths), the report's figures, and incident titles and durations, with a pseudonymous team identifier. It goes to OpenRouter, which passes it on to a model provider. Incident update texts and your stored AI incident analyses are not sent.
The per-monitor PDF
Open a monitor and use Download report to get its PDF for 7 days, 30 days, 90 days or 12 months. It has the same layout, scoped to that monitor, and adds a day-by-day table (month by month for 12 months) of availability and mean response time.
API
| Report | Endpoint |
|---|---|
| Monthly report of your team | GET /api/v1/reports/monthly/pdf?month=YYYY-MM |
| Monthly report of a managed team (reseller) | GET /api/v1/reseller/managed-teams/{id}/reports/monthly/pdf?month=YYYY-MM |
| Monitor report | GET /api/v1/monitors/{id}/report/pdf?period=7d|30d|90d|12m |
month defaults to the previous month. The endpoints need the monitors:read scope and answer 503 with a Retry-After header when the PDF cannot be created right now.