Reports
Generate on-demand reports in PDF, CSV, or JSON format. Export incidents, check logs, uptime statistics, and more for compliance, auditing, or stakeholder communication.
Report Types
Full Check Report
A comprehensive report for a single check or an entire project. Includes:
- Check configuration summary
- Uptime statistics (24h, 7d, 30d)
- Incident history with durations
- Response time statistics (avg, min, max, p95)
- Recent check logs
- SLO status (if configured)
Quick Exports
For quick data access, use the instant CSV exports:
| Export | Format | Contents |
|---|---|---|
| Incidents CSV | CSV | All incidents with start/end time, duration, old/new status, error message |
| Logs CSV | CSV | Recent check logs with timestamp, status, response time, details |
Status Page Report
A public-facing report for a status page. Available without authentication for public status pages. Includes overall status, per-check uptime, and incident summary.
Generating a Report
From the Check Detail Page
- Open a check's detail page
- Click the Export or Report button
- Choose the format (PDF, CSV, or JSON)
- Select the time range and sections to include
- Click Generate
From the Dashboard
- Go to the Dashboard
- Click the Export button
- Choose to export all checks or apply filters first
- Select the format and options
- Click Generate
From a Status Page
- Open a public status page
- Click the Download Report link
- A pre-configured status page report will be generated
Output Formats
PDF Reports
Professional PDF reports with formatted tables, statistics, and headers. Supports Unicode characters (international text). PDF generation runs asynchronously — for large reports, you'll see a progress indicator and can download when ready.
- Best for: Sharing with management, compliance documentation, archiving
- Includes: Formatted tables, headers, summary statistics
- Font: DejaVu Sans (full Unicode support)
CSV Reports
Comma-separated values for easy import into spreadsheets (Excel, Google Sheets) or data analysis tools.
- Best for: Data analysis, importing into other tools, automated processing
- Includes: Raw data with headers, one row per record
- Encoding: UTF-8 with BOM (for Excel compatibility)
JSON Reports
Machine-readable JSON for programmatic access and integration with other systems.
- Best for: API integrations, automated reporting pipelines, custom dashboards
- Includes: Structured data matching the API response format
Report Sections
When generating a full report, you can select which sections to include:
| Section | Description |
|---|---|
| Summary | Check name, type, URL, current status, configuration overview |
| Uptime | Uptime percentages for 24h, 7d, 30d periods |
| Incidents | List of all incidents with timestamps, duration, and error details |
| Response Times | Average, minimum, maximum, and p95 response times |
| Logs | Recent check execution logs with details |
| SLO | SLO target, current uptime, error budget status (if SLO configured) |
Tip
For quick incident exports, use the Incidents CSV quick export button. It's instant and doesn't require configuring report options.
Report API
/api/reports/generateGenerate a report (async for PDF)/api/reports/{id}Get report status and download/api/reports/List your generated reports/api/checks/{id}/export/incidents.csvQuick export: incidents as CSV/api/checks/{id}/export/logs.csvQuick export: check logs as CSVPOST /api/reports/generate
{
"check_id": 42,
"format": "pdf",
"period_days": 30,
"sections": ["summary", "uptime", "incidents", "response_times"]
}{
"id": 15,
"status": "generating",
"format": "pdf",
"created_at": "2026-02-12T14:30:00Z"
}Poll GET /api/reports/{id} until status changes to "completed", then download the file from the response URL.
Report Retention
Generated reports are stored temporarily and cleaned up automatically:
- Reports are stored for 7 days after generation
- A daily cleanup task removes expired reports
- Download your report promptly after generation
Temporary Storage
Reports are not permanent. If you need to keep a report, download it and store it in your own systems. Reports older than 7 days are automatically deleted.