SLA and uptime reports
CompleteStatus turns a project's monitoring history into an SLA report: per-monitor uptime against an optional SLA target over a reporting window, plus notable change events. Reports can be previewed on screen, downloaded as PDF or CSV, emailed on demand, or delivered automatically on a weekly or monthly schedule.
Reports are managed per project at /reports. Reports are a paid feature — included on the Pro, Business and Agency plans.
Previewing a report
The fastest way to see what a report contains:
- Open /reports and go to the preview at
/reports/preview. - Pick the project, the from / to dates (the window defaults to the last 30 days), and optionally an SLA target (%) and a subset of monitors (selecting none includes every monitor in the project).
- The report renders on screen with the same data the PDF uses.
From the preview you can download the same report as PDF or CSV with your chosen window and options applied.
Note: PDF rendering runs on the background worker. If the PDF renderer is unavailable from the web request, the download responds with an explanatory error — use a schedule's Send now to receive the PDF by email instead, or export CSV, which always works.
Scheduling recurring reports
A report schedule emails a PDF report to a list of recipients on a fixed cadence:
- On /reports, select the project and create a schedule.
- Configure it:
- Cadence — Weekly (covers the trailing 7 days) or Monthly (covers the trailing calendar month).
- SLA target (%) — optional, 0–100. When set, the report grades each monitor's uptime against this target.
- Monitors — optionally restrict the report to specific monitors; select none to include every monitor in the project.
- Recipients — one or more email addresses. At least one is required; duplicates and blank rows are cleaned up automatically.
- White-label — see below.
- Save. The first run is scheduled one week or one month from now, and each delivery advances the next run automatically.
From the schedule list you can:
- Enable / disable a schedule without deleting it (disabled schedules never fire).
- Send now — queue the report email to the schedule's recipients immediately, using the schedule's cadence window ending today. Handy for testing a new schedule or answering an ad-hoc client request.
- Edit or delete the schedule.
Note: "Send now" requires the schedule to have at least one recipient — you'll get an error otherwise.
Downloading on demand
You can fetch a report directly, without a schedule, from the preview page's download buttons. Under the hood these are plain GET endpoints you can also link to or script:
/reports/{project}/download/pdf?from=2026-06-01&to=2026-06-30&sla_target=99.9
/reports/{project}/download/csv?from=2026-06-01&to=2026-06-30&monitors=1,2,3
Both accept from, to (defaulting to the last 30 days), sla_target, monitors (comma-separated monitor IDs) and white_label. Access requires being signed in with view access to the project — report URLs are not public.
White-label branding
By default, reports carry CompleteStatus branding. On the Business and Agency plans you can white-label them — CompleteStatus branding is suppressed and your organization's identity fronts the report, which is what you want when forwarding SLA evidence to your own clients.
- In the schedule form, tick White-label. On plans without the entitlement the checkbox is disabled, with a hint to upgrade.
- The setting is enforced server-side: a white-label flag saved or requested on a non-entitled plan is simply dropped, so downgrading a plan automatically restores CompleteStatus branding on the next report.
- White-labelled schedules are badged in the schedule list so you can tell them apart at a glance.
| Plan | Reports | White-label |
|---|---|---|
| Free | — | — |
| Pro ($19/mo) | Yes | — |
| Business ($49/mo) | Yes | Yes |
| Agency ($129/mo) | Yes | Yes |
What's in a report
- SLA summary — uptime per monitor over the window, compared to the SLA target when one is set.
- Change events — notable detected changes on the covered monitors during the window.
- Metadata — project, organization, reporting window, cadence label and generation time.
Data availability is bounded by your plan's history retention: 14 days on Free, 365 on Pro, 730 on Business and Agency. A monthly report needs at least a month of retained history to be complete.
Related guides
- /docs/status-pages — public, always-current uptime for your users.
- /docs/incidents-and-escalation — the incident records behind the downtime numbers.
Further reading: How monitoring supports SOC 2 and compliance evidence on the blog — using reports like these as audit evidence.