Reports

Generate on-demand or scheduled reports and export them as CSV or PDF.

Available Report Types

Report Description Formats
Agent Inventory Complete list of all agents with hardware details: hostname, OS, CPU, RAM, serial number, AV status, WAN IP, and last seen timestamp. CSV, PDF
Alert Summary Recent alerts with hostname, severity, category, title, resolution status, and timestamps. CSV, PDF

Generating Reports On-Demand

Download a report immediately from the dashboard or via the API:

Agent Inventory Report

# CSV
GET /api/reports/agent-inventory?format=csv

# PDF
GET /api/reports/agent-inventory?format=pdf

Alert Summary Report

# CSV
GET /api/reports/alert-summary?format=csv

# PDF
GET /api/reports/alert-summary?format=pdf

Both endpoints require authentication via Bearer token. The response is the file itself (with appropriate Content-Type and Content-Disposition headers), so the browser will download it directly.

Scheduled Reports

Automate report delivery by scheduling reports to be generated and emailed on a recurring basis.

Creating a Scheduled Report

Navigate to Reports → Schedules → Create Schedule, or use the API:

POST /api/scheduled-reports
{
  "name": "Weekly Agent Inventory",
  "reportType": "agent-inventory",
  "format": "pdf",
  "cron": "0 8 * * 1",
  "recipients": ["admin@company.com", "manager@company.com"]
}

Schedule Fields

Field Required Description
nameYesDisplay name for the schedule
reportTypeYesagent-inventory or alert-summary
formatNopdf (default) or csv
cronYesCron expression (e.g., 0 8 * * 1 for every Monday at 8 AM)
recipientsYesArray of email addresses to deliver the report to
enabledNoToggle the schedule on or off (default: true)

Common Schedules

Schedule Cron Report
Weekly inventory (Monday 8 AM)0 8 * * 1agent-inventory
Daily alert summary (7 AM)0 7 * * *alert-summary
Monthly inventory (1st at 9 AM)0 9 1 * *agent-inventory

Managing Schedules

Update a schedule:

PUT /api/scheduled-reports/:id
{
  "cron": "0 9 * * 1",
  "enabled": false
}

Delete a schedule:

DELETE /api/scheduled-reports/:id

List Available Reports

To programmatically discover what report types are available:

GET /api/reports/available

Returns an array of report definitions with ID, name, description, and supported export formats.