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

EndpointDescription
GET /reporting/v1/phishing-resultsIndividual phishing results per employee — sent, read, clicked, credentials submitted, with timestamps per step
GET /reporting/v1/phishing-results/summaryCampaign 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: sentreadclickedcompromised (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 /summary endpoint for high-level campaign dashboards; use the main endpoint for per-employee drill-down.
  • harvested_on is set when credentials were submitted (status: compromised).
  • training_passed indicates 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.