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
| Endpoint | Description |
|---|---|
GET /reporting/v1/training-results | List 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/combined | Trainings 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, ornot_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
/combinedendpoint is the most useful for detailed reporting as it includes per-employee data within each training record. - The
statusfield per employee can becompleted,in_progress, ornot_started. - Tags on employees allow you to filter and group results by team, office, or other attributes.