Overview

The Training Results endpoints return data about your security awareness training campaigns — including per-training summaries and per-employee completion and score data.

Base URL: https://portal.lupasafe.com
Authentication: X-Api-Key: ls_your_api_key_here

Endpoints

EndpointDescription
GET /reporting/v1/training-resultsList all trainings with name, category, start date, trainee count, completions, and average score
GET /reporting/v1/training-results/{trainingId}Detail of a single training
GET /reporting/v1/training-results/combinedTrainings with embedded per-employee results (score, status, email, tags, completion date)

Parameters

  • from_date / to_date — ISO 8601 format (yyyy-MM-dd), default 30 days
  • status — filter by completed, in_progress, or not_started
  • limit — default 50, max 500
  • offset — for pagination

Example Request

GET /reporting/v1/training-results/combined?limit=10&from_date=2026-01-01
X-Api-Key: ls_your_api_key_here

Example Response

{
  "total": 5,
  "limit": 10,
  "offset": 0,
  "data": [
    {
      "training_id": "135a0999-...",
      "training_name": "AI Security Threats",
      "category": "AI",
      "started_on": "2026-04-07T06:09:17Z",
      "total_trainees": 12,
      "completed": 8,
      "average_score": "85%",
      "employees": [
        {
          "user_id": "86050ebc-...",
          "user_email": "user@example.com",
          "first_name": "Jan",
          "last_name": "de Vries",
          "tags": ["team:IT", "office:Amsterdam"],
          "score": 92,
          "status": "completed",
          "completion_date": "2026-04-07T08:45:00Z"
        }
      ]
    }
  ]
}

Notes

  • The /combined endpoint is the most useful for detailed reporting as it includes per-employee data within each training record.
  • The status field per employee can be completed, in_progress, or not_started.
  • Tags on employees allow you to filter and group results by team, office, or other attributes.