Overview
The Phishing Results endpoints return data from your phishing simulation campaigns — both per-employee individual results and aggregated campaign-level summaries.
Base URL: https://portal.lupasafe.com
Authentication: X-Api-Key: ls_your_api_key_here
Endpoints
| Endpoint | Description |
|---|---|
GET /reporting/v1/phishing-results | Individual phishing results per employee — sent, read, clicked, credentials submitted, with timestamps per step |
GET /reporting/v1/phishing-results/summary | Campaign aggregates per date — total sent, read, clicked, compromised, training completed |
Parameters
- from_date / to_date — ISO 8601 format (yyyy-MM-dd), default 90 days
- limit — default 50, max 500
- offset — for pagination
Status Values
Phishing results follow a progression of statuses: sent → read → clicked → compromised (credentials submitted).
Example Request
GET /reporting/v1/phishing-results?limit=5
X-Api-Key: ls_your_api_key_here
Example Response
{
"total": 54,
"limit": 5,
"offset": 0,
"data": [
{
"mail_id": "9820e116-...",
"user_email": "user@example.com",
"employee_name": "Jan de Vries",
"template_subject": "Activate your new 2FA app",
"from_email": "it-department@example.com",
"from_name": "IT Department",
"sent_on": "2026-03-26T16:31:04Z",
"read_on": "2026-03-26T16:31:13Z",
"clicked_on": "2026-03-26T16:32:14Z",
"harvested_on": null,
"training_passed": null,
"status": "clicked"
}
]
}
Notes
- Use the
/summaryendpoint for high-level campaign dashboards; use the main endpoint for per-employee drill-down. harvested_onis set when credentials were submitted (status:compromised).training_passedindicates whether the employee completed follow-up training after the phishing attempt.- This data can be fed directly into Autotask using Lupasafe's built-in PSA integration for automated client reporting.