Reporting API
Linux Academy Reporting API
The Linux Academy Reporting API is purposed to allow administrators to generate reports based on various metrics captured by Linux Academy. The Reporting API allows for the following functionality:
Access Key
If you are unsure where to obtain your access key, navigate to the Linux Academy - For Business platform: https://enterprise.linuxacademy.com/settings/access-keys, to find or create your access key.
Authorization
To use the access key, include in any request you make to the Reporting API, a header called "api-key" and the associated value will be your access key.
headers: {
"api-key": "your-reporting-api-key-here"
}
Available Endpoints
GET https://enterprise-reporting.linuxacademy.com/status
Response:
{
"status": "alive"
}
List of Groups in Organization
This request responds with all of the groups in your organization.
GET https://enterprise-reporting.linuxacademy.com/api/v1/groups
Response:
[
{
"name": "Everyone",
"id": 1872
},
{
"name": "Jen's Team",
"id": 1894
},
{
"name": "Marketing Team",
"id": 1895
},
{
"name": "DevOps Team",
"id": 1922
}
]
List of all Generated Reports
This request responds with the list of reports you've generated.
GET https://enterprise-reporting.linuxacademy.com/api/v1/generated_reports
Response:
[
{
"key": "reports/Challenges-testgroup_09-12-2019(10:53PM).csv",
"created_at": "2019-09-13T05:53:14.000Z",
"url": "https://la-enterprise-reporting-stag.s3.amazonaws.com/reports/893860e8-a33c-468f-97db-42f3d898d080/Challenges-testgroup_09-12-2019%2810%3A53PM%29.csv?response-content-disposition=attachment&response-content-type=text%2Fcsv&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA3ETCCTRFCHKY2PN3%2F20190913%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190913T064335Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=FQoGZXIvYXdzEFcaDMrlcBWHyYB9xSZwuSKUBGgYSa8P7TQLeVw5GlMgJC0pNF2jQ%2BNYgeHesbVikguYbjT5cujxjsfDz2u8LEcVtHZ%2F1aq9Ucd3ajAuo9h95TV8SDaNlJYCSaZDbiqhPJPF3AgYe9b3UqaZOoiSDGqTd%2F9rZqGOwaFW5ZTgLlQ0MJw%2BhoCksMW1k%2FgNarLVkoKBdWXLkMdL2%2Fk4PH2Qk8yTeRgTB20r%2FCs05775yA0bVSXoDAY2lPOjlw%2BTzdQ6aD18MxowmcpULqvSUDG9cvTJ%2FEENyjdJq%2FYyIk%2Bvx65WvIHERTQQxIfml%2Bonp4tGIpTnEPYryG36gLLw8BHJabk0vXUkDSmu%2FsGGuPMrM0ACOaGJRxh5rUBckv8k0kHVdNHsjx6ACOzIQunabhQOHXo4Mqhxk7ArDrQm5f2Qd3bM2JU1UH0FdtGseGIlnmT3Y1fKIuLFMVORqaIRlXMI%2BT7WueBr0OjoheoRgWoeOgeFOMzV06eGvzezUJeBTf2vWrqx%2FyET8xBb744gLt%2Fp324P4WP66BslszQxr8WjZ%2BJzDIsphyHpkLrvrtALAQ9Iz8wIk1KP%2FZCLCqH1Gth4RabhLTLncyfKzqDANkXIl%2BWHEvAfiWLpwLhGd%2FFbotRw9SABF9Uc2GcZ2r0bazk9GUFRpHIzGhyyUCIfXM5BR83r3Sfq%2FpPCAnh9nCr62hposeNlfvgYwtIYTTVZbVvwH4JGYQmR%2BGco2eDs6wU%3D&X-Amz-Signature=665172c7648a0db29adf1f77b23bb274859c10619aa87700f4f5357cdfdaa58c",
"type": "reports/Challenges"
}
]
Get a specific report
Get the status of a specific report.
GET https://enterprise-reporting.linuxacademy.com/api/v1/generated_reports/data?report_id={{Report_Id}}
parameter | description | required? |
report_id | Report name | true |
Response:
{
"report": {
"name": "Login-testgroup_09-12-2019(10:59PM)",
"type": "Login",
"group": "test group",
"date_range": "01-01-1970 to 09-13-2019"
},
"data": [
{
"first_name": "John",
"last_name": "Doe",
"email": "john@doe.com",
"groups": "Everyone,Development,Linux Academy Staff,test group,My Team PCS,Development - Kubernetes",
"login_date": "2018-10-29 16:51:52 UTC"
}
]
Generate: User Activity Report
See your members' activity on the platform.
GET https://enterprise-reporting.linuxacademy.com/api/v1/activity
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
start_date | The start date of the report (Unix Time Stamp) | false |
end_date | The end date of the report (Unix Time Stamp) | false |
Response:
{
"success": true,
"report_id": "UserActivity-testgroup_09-12-2019(11:46PM)"
}
Generate: Course Progress Report
Understand the course progress that each member of your team has taken and progressed through.
GET https://enterprise-reporting.linuxacademy.com/api/v1/courses
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
Response:
{
"success": true,
"report_id": "CourseProgress-testgroup_09-12-2019(11:50PM)"
}
Generate: Practice Exams and Quizzes Report
See your members' quiz and practice exam attempts.
GET https://enterprise-reporting.linuxacademy.com/api/v1/quizzes
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
start_date | The start date of the report (Unix Time Stamp) | false |
end_date | The end date of the report (Unix Time Stamp) | false |
Response:
{
"success": true,
"report_id": "Quizzes-testgroup_09-12-2019(11:52PM)"
}
Generate: Hands-On Labs Report
Hands-On Labs are independently consumable live environments that include videos and written guides to fill in skill gaps for your team with real resources. These activities can be consumed within a course, learning path, or independently.
GET https://enterprise-reporting.linuxacademy.com/api/v1/labs
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
start_date | The start date of the report (Unix Time Stamp) | false |
end_date | The end date of the report (Unix Time Stamp) | false |
Response:
{
"success": true,
"report_id": "HandsOnLabs-testgroup_09-12-2019(11:52PM)"
}
Generate: Learning Paths Report
See your members' progress on learning paths they've started or are assigned.
GET https://enterprise-reporting.linuxacademy.com/api/v1/paths
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
{
"success": true,
"report_id": "LearningPathProgress-testgroup_09-12-2019(11:53PM)"
}
Generate: Live Environment Challenges Report
Live Environment Challenges are designed to test a user's knowledge and skill in a particular domain or set of domains by assessing the user's actions against real resources, following real-world scenarios, and using our advanced Real-Time Grading engine. These Challenges can be consumed within a course, learning path, or independently.
GET https://enterprise-reporting.linuxacademy.com/api/v1/challenges
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
start_date | The start date of the report (Unix Time Stamp) | false |
end_date | The end date of the report (Unix Time Stamp) | false |
Response:
{
"success": true,
"report_id": "Challenges-testgroup_09-12-2019(11:57PM)"
}
Generate: Playground Usage Report
Playground Usage records review how often a user has been using one of the Linux Academy playgrounds. You can review how many sandboxes have been created, the number of servers created and started, and usage in minutes for both servers and sandboxes.
GET https://enterprise-reporting.linuxacademy.com/api/v1/playgrounds
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
start_date | The start date of the report (Unix Time Stamp) | false |
end_date | The end date of the report (Unix Time Stamp) | false |
Response:
{
"success": true,
"report_id": "Playground-testgroup_09-13-2019(12:21AM)"
}
Generate: Login History Report
Login History provides you with detailed information over how often a user has logged into Linux Academy. This can range from learners to administrators.
GET https://enterprise-reporting.linuxacademy.com/api/v1/logins
parameter | description | required? |
group_id | Group ID | true |
members | Type of member: all, active, or passive | false |
start_date | The start date of the report (Unix Time Stamp) | false |
end_date | The end date of the report (Unix Time Stamp) | false |
Response:
{
"success": true,
"report_id": "Login-testgroup_09-13-2019(12:24AM)"
}