Purpose
Cyber Guru offers the ability to acquire course completion information from the users on the platform through a REST API that provides a data set suitable for use by the client in their own LMS or other platforms.
The automation of data acquisition provided by Cyber Guru depends on the client's processes and architectures and therefore cannot be overseen by Cyber Guru.
This guideline contains the directives and parameters for the client to invoke the service.
Scope
The information applies to the Cyber Security Awareness platform Cyber Guru 2.0.
Prerequisites
-
The client must have the technological resources to call REST API at a certain frequency
Procedure
Cyber Guru provides two REST APIs:
Get token: https://login.platform.cyberguru.eu/realms/{TENANT}/protocol/openid-connect/token
This API allows you to obtain an authorization token.
Call parameters (POST method):
-
client_id: ext-api
-
client_secret:
-
grant_types: client_credentials
Get course data: https://<...>/</...>ext/training/completed-user-activities
which allows importing a subset of data from Cyber Guru to Workday.
To invoke the API, you need to provide the token obtained from the previous API as a "Bearer token".
The API accepts the following parameters (GET method):
-
start_date (Optional, format YYYY-MM-DD)
-
end_date (Optional, format YYYY-MM-DD)
-
lang (Optional)
The API returns the following attributes in JSON format:
|
Attribute |
Description |
|
Firstname |
User's first name |
|
Lastname |
User's last name |
|
|
User's email |
|
Country |
User's country of origin |
|
Team |
User's team |
|
Learning_Activity |
Name of the module in the specified language (or in the default fallback language from Localization) |
|
Availability_Date |
Release date, i.e., the date the course was released (format YYYY-MM-DD) |
|
Start_date |
Date the user started the course (format YYYY-MM-DD) |
|
Time_Spent |
Time, in the format hh:mm:ss, the user spent on/completed the course |
|
Completion_Date |
Date the user first completed the course (format YYYY-MM-DD) |
|
Badge |
Boolean field that is 1 if the user obtained a badge, otherwise 0 |
Below is a sample JSON response:
{
"status": 200,
"data": [
{
"Firstname": "John",
"Lastname" : "Doe",
"Email": "name-test-1@mymail.com",
"Country": "UK",
"Team": "Red Ribbon",
"Learning_Activity": "Password",
"Registered_Date": "2024-03-06",
"Start_Date": "2024-03-17",
"Time_Spent": "00:22:35",
"Points": 12,
"Completion_Date": "2024-03-25",
"Badge": 1
},
{
"Firstname": "Donald",
"Lastname" : "Duck",
"Email": "name-test-2@mymail.com",
"Country": "U.S.A.",
"Team": "Duck Tales",
"Learning_Activity": "Phishing",
"Registered_Date": "2024-04-06",
"Start_Date": "2024-04-17",
"Time_Spent": "00:25:40",
"Points": 12,
"Completion_Date": "2024-04-29",
"Badge": 1
}
]
}
Cyber Guru is available to support the client during the configuration and testing phase in a staging environment and, following a successful test, in a production environment.