Linux Academy for Businesschevron_right Reportingchevron_right

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:

  • Get a list of groups in your organization.
  • Get a list of available reports.
  • Generate reports.
  • Check the status reports.
  • Get reports.

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
Response:
{
"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)"
}