Kubicle's Reporting API

Understand how to better utilize Kubicle's API for advanced reporting

Introduction

Kubicle has developed a simple API that allows you to access their learner data in an automated fashion. This API is currently in beta, as such, endpoints and their constraints may change in the future.

This API offers Data either in a CSV or JSON format

Getting Started

A Kubicle support representative will provide you with your organization ID and API key. The API key grants access to the API. It is important that it is kept confidential. Our team will share the key via Saltify. The Saltify link is single use - once your team access the API key in Saltify it cannot be recovered. You’ll need to copy the key from Saltify and store it in a secure location.

Please contact our support team if you need the API key deactivated.

Usage

Exports of data can be accessed from the API via GET request.
This is available in a CSV or JSON format. 

 

The request must contain:

  • The API key

  • The organization ID

Where Timescales are required, you must also include

  • A start date, formatted YYYY-MM-DD

  • An end date no more that 90 days after the start date, formatted YYYY-MM-DD

The general format of the URL for requests is:

 

CSV

https://app.kubicle.com/api/v1/organisations//exam_submissions?api_key=&start_date=&end_date=

JSON

https://app.kubicle.com/api/v1/organisations//exam_submissions.json?api_key=&start_date=&end_date=

For example, to get all the exam submissions from 1st January 2021 to 28th February 2021 for the organization with id 12 and API key abcd1234 the URL is:

CSV

https://app.kubicle.com/api/v1/organisations/12/exam_submissions?api_key=abcd1234&start_date=2021-01-01&end_date=2021-02-28

JSON

https://app.kubicle.com/api/v1/organisations/12/exam_submissions.json?api_key=abcd1234&start_date=2021-01-01&end_date=2021-02-28

 

EndPoints

1. Course Completions

  • Description: Retrieve a list of course completions within a specified date range.
  • HTTP Method: GET
  • Endpoint: /course_completions

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/course_completions?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:

https://app.kubicle.com/api/v1/organisations/<ORG_ID>/course_completions.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

 

Returned Fields:

  • Learning Group: Title of Learning Group
  • Name: Name of Learner
  • Email: Email of Learner
  • Subject Version: Title of the Subject Version that has been completed
  • Course: Name of Course Completed
  • Content UID: ID of the Course Completed
  • Date Completed: Date Learner Completed the Course
  • License Status: License Status of Learner

 


2. Project Completions

  • Description: Retrieve a list of project completions within a specified date range.

  • HTTP Method: GET

  • Endpoint: /project_completions

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/project_completions?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/project_completions.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

 

Returned Fields:

  • Learning Group: Title of Learning Group
  • Name: Name of Learner
  • Email: Email of Learner
  • Subject Version: Title of the Subject Version that has been completed
  • Project: Name of Project Completed
  • Content UID: ID of the Course Completed
  • Date Completed: Date Learner Completed the Course
  • License Status: License Status of Learner

3. Exam Submissions

  • Description: Retrieve a list of exam submissions within a specified date range.
  • HTTP Method: GET
  • Endpoint: /exam_submissions

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/exam_submissions?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/exam_submissions.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

 

Returned Fields:

  • Learning Group: Title of Learning Group
  • Name: Name of Learner
  • Email: Email of Learner
  • Subject Version: Title of the Subject Version that has been completed
  • Course: Name of Course Completed
  • Score: Score of Submitted Exam
  • Passed: Status of Exam Passed or Failed
  • Date Attempted: Date of completed Exam Submission
  • License Status: License Status of Learner

4. Lessons Watched

  • Description: Retrieve a list of lessons watched within a specified date range.
  • HTTP Method: GET
  • Endpoint: /lessons_watched

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/lessons_watched?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/lessons_watched.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • Learning Group: Title of Learning Group
  • Name: Name of Learner
  • Email: Email of Learner
  • Subject Version: Title of the Subject Version that has been completed
  • Course: Name of Course Completed
  • Lesson: Title of Lesson
  • Lesson Duration in Seconds: Length of the Lesson Video
  • Date Watched: Date of Lesson Viewing
  • Seconds Watched: Length of Time Learner viewed lesson video
  • License Status: License Status of Learner

 


5. Learning Time By Subject

  • Description: Retrieve learning time data categorised by subject within a specified date range.
  • HTTP Method: GET
  • Endpoint: /learning_time_by_subject

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_time_by_subject?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_time_by_subject.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • Learning Group: Title of Learning Group
  • Name: Name of Learner
  • Email: Email of Learner
  • License Status: License Status of Learner
  • Subject (Hours): Name of Subject, Learning time measured in Hours

 


6. Current Semester Progress

  • Description: Retrieve progress data for the current semester.
  • HTTP Method: GET
  • Endpoint: /current_semester_progress

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/current_semester_progress?api_key=<API_KEY>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/current_semester_progress.json?api_key=<API_KEY>

Query Parameters:

  • api_key: Your API key (<API_KEY>).

Returned Fields:

  • First Name: First Name of Learner
  • Last Name: Last Name of Learner
  • Email: Email of Learner
  • Semester Status: Learners' Status within the current semester.
  • % of Semester complete: Current Progress Learner has achieved
  • Total Learning Time (hours): Total Time spent viewing lessons in the semester.
  • Learning Group: Name of Learning Group

7. All Semester Progress

  • Description: Retrieve progress data for all semesters.
  • HTTP Method: GET
  • Endpoint: /all_semesters_progress

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/all_semesters_progress?api_key=<API_KEY>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/all_semesters_progress.json?api_key=<API_KEY>

Query Parameters:

  • api_key: Your API key (<API_KEY>).

Returned Fields:

  • First Name: First Name of Learner
  • Last Name: Last Name of Learner
  • Email: Email of Learner
  • Learning Group: Name of Learning Group
  • Semester: Name of Semester
  • Semester Status: Learners' Status within the current semester.
  • % of Semester complete: Current Progress Learner has achieved
  • Total Learning Time (hours): Total Time spent viewing lessons in the semester.
  • Semester Start Date: Date Semester Commences
  • Semester End Date: Date Semester Ends

8. All Semester Progress - Including Historical Learning Groups

  • Description: Retrieve progress data for all semesters, including historical learning groups of the learner.
  • HTTP Method: GET
  • Endpoint: /historical_learning_groups_semesters_progress

CSV URL:
https://app.kubicle.com/api/v1/organisations//historical_learning_groups_semesters_progress?api_key=<API_KEY>

JSON URL:
https://app.kubicle.com/api/v1/organisations//historical_learning_groups_semesters_progress.json?api_key=<API_KEY>

Query Parameters:

  • api_key: Your API key (<API_KEY>).

Returned Fields:

  • First Name: First Name of Learner
  • Last Name: Last Name of Learner
  • Email: Email of Learner
  • Learning Group: Name of Learning Group
  • Semester: Name of Semester
  • Semester Status: Learners' Status within the current semester.
  • % of Semester complete: Current Progress Learner has achieved
  • Total Learning Time (hours): Total Time spent viewing lessons in the semester.
  • Semester Start Date: Date Semester Commences
  • Semester End Date: Date Semester Ends

Additional Note:

This report doesn’t include learning groups that learners were in prior to October 2024 and were moved out of. 


 

 

9. Learning Time by Learner

  • Description: Retrieve learning time data categorized by individual learners within a specified date range.
  • HTTP Method: GET
  • Endpoint: /learning_time_by_learner

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_time_by_learner?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_time_by_learner.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • First Name: First Name of Learner
  • Last Name: Last Name of Learner
  • Email: Email of Learner
  • Learning Group: The name of the Learning Group the learner is in
  • Total Learning Time (hours): Total Time spent viewing lessons.
  • License Status: License state for Learner

10. User Account Activation Data

  • Description: Retrieve data on user account activations within a specified date range.
  • HTTP Method: GET
  • Endpoint: /user_account_activation_data

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/user_account_activation_data?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/user_account_activation_data.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • Organisation: Name of Organisation Learner is a member of
  • Learning Group: Name of Learning Group Learner is a member of
  • Name: Name of Learner
  • Email: Email of Learner
  • Invitation Date: Date Learner Was Invited/Enrolled into Kubicle
  • Invitation Accepted Date: Date Learner Accepted Invite and had first Login
  • Deactivation Date: If Learner has been Deactivated, Date of Deactivation
  • Deactivated By: If Learner has been Deactivated, ID of Admin that completed the activity 
  • Reactivation Date: If Learner has been Reactivated, Date of Reactivation

11. Custom User Fields

  • Description: Retrieve custom fields associated with user accounts.
  • HTTP Method: GET
  • Endpoint: /custom_user_fields

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/custom_user_fields?api_key=<API_KEY>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/custom_user_fields.json?api_key=<API_KEY>

Query Parameters:

  • api_key: Your API key (<API_KEY>).

Returned Fields:

  • Email: Email of Learner
  • Custom User Field 1: If org has a custom user field added, it returns the first field
  • Custom User Field 2: If org has a custom user field added, it returns the second field
  • Custom User Field 3: If org has a custom user field added, it returns the third field

12. Skill Checks Report

  • Description: Retrieve a report on skill checks performed by users.
  • HTTP Method: GET
  • Endpoint: /skill_checks_report

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/skill_checks_report?api_key=<API_KEY>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/skill_checks_report.json?api_key=<API_KEY>

Query Parameters:

  • api_key: Your API key (<API_KEY>).

Returned Fields:

  • Email: Email of Learner
  • First Name: First Name of Learner
  • Last Name: Last Name of Learner
  • Learning Group: Name of Learning Group Learner is a member of
  • Subject: Title of Subject
  • Course: Title of Course
  • Course ID: Unique ID of Course Version
  • Original Skill Level: Learners Subject Skill Strength captured at initial skill check, measured as an integer
  • Original Skill Level Label: Learners Subject Skill Strength captured at initial skill check - Weak/Strong
  • New Skill Level: Learners Subject Skill Strength captured after most recent completed exam - measured as an integer
  • New Skill Level Label: Learners Subject Skill Strength captured after most recent exam - Weak/Strong
  • Date of New Skill Level: Date new Skill Level was achieved
  • License Status: License Status of Learner

13. Learning Paths Progress

  • Description: Retrieve progress data for users in learning paths within a specified date range.
  • HTTP Method: GET
  • Endpoint: /learning_paths_progress

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_paths_progress?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_paths_progress.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • Email: Email of Learner
  • Full Name: Full Name of Learner
  • Learning Path: Title of Learning Path Learner is progressing in
  • Enrollment Date: Date Learner Joined the Learning Path
  • Progress: Learners % Progression through Learning Path
  • Completion Date: Date Learner has completed the Learning Path
  • License Status: License Status of Learner

14. CPE Credits Report

  • Description: Retrieve a report on CPE (Continuing Professional Education) credits earned by users within a specified date range.
  • HTTP Method: GET
  • Endpoint: /cpe_credits_report

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/cpe_credits_report?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/cpe_credits_report.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • First Name: First Name of Learner
  • Last Name: Last Name of Learner
  • Email: Email of Learner
  • Learning Group Name: Title of Learning Group Learner is enrolled in
  • Subject: Title of Subject
  • Subject Version: Title of Version of Subject Completed
  • Content: Title of Content Completed
  • Content UID: Unique ID of the version of Content Completed 
  • Data Completed: Date of Completion
  • CPE/CPD Credits: Amount of credits Awarded
  • Field of Study: Title of Skill Area completed
  • NASBA Approved: True/False , does the Completion satisfy NASBA requirements 
  • License Status: License Status of Learner 

15. Most Recent Activity Date

  • Description: Retrieve the date of the most recent activity by users within a specified date range.
  • HTTP Method: GET
  • Endpoint: /most_recent_activity_date

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/most_recent_activity_date?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/most_recent_activity_date.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • Learning Group Name: Title of Learning Group Learner is enrolled in
  • Full Name: Full Name of Learner
  • Email: Email of Learner
  • Recent Activity Date: Date of Learners Last activity
  • License Status: License Status of Learner 

 


16. Content Catalog

  • Description: Retrieve a list of all available content within the organization's catalogue.
  • HTTP Method: GET
  • Endpoint: /content_catalog

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/content_catalog?api_key=<API_KEY>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/content_catalog.json?api_key=<API_KEY>

Query Parameters:

  • api_key: Your API key (<API_KEY>).

Returned Fields:

  • ID: ID of Content within the internal Catalogue
  • Name: Title of Content Package
  • Content Type: Type of content: Course, Project
  • Track: Lesson Learning Path
  • Subject: Subject of Content 
  • Subject Version: Version ID of Subject
  • URL: Direct URL to Content package 
  • Image File Name: Name of Content Preview Image 
  • Image URL: Direct URL to Content Preview Image 
  • Duration (HH:MM): Total Time to Complete Content 
  • Description: Description of Contents and Learning Outcomes 
  • Content UID: Unique ID of content Package 
  • CPE/CPD Credits: Amount of Credits Awarded upon completion 
  • Field of Study: Descriptor of CPE Field of Study 

17. Semester Diplomas

  • Description: Retrieve a list of diplomas earned during a specific semester within a specified date range.
  • HTTP Method: GET
  • Endpoint: /semester_diplomas

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/semester_diplomas?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/semester_diplomas.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

Query Parameters:

  • api_key: Your API key (<API_KEY>).
  • start_date: The start date for the report (<START_DATE>).
  • end_date: The end date for the report (<END_DATE>).

Returned Fields:

  • Name: Name of Learner
  • Learning Group: Title of Learning Group learner is a member of
  • Semester: Name of Semester Completed
  • Diploma Awarded Date: Date Semester was completed and the Diploma was awarded to the Learner 

18. Milestone Progress

  • Description: Retrieve milestone progress data for all users across all learning groups and semesters
  • HTTP Method: GET
  • Endpoint: /learning_group_semester_milestones_progress

CSV URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_group_semester_milestones_progress?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

JSON URL:
https://app.kubicle.com/api/v1/organisations/<ORG_ID>/learning_group_semester_milestones_progress.json?api_key=<API_KEY>&start_date=<START_DATE>&end_date=<END_DATE>

 

Query Parameters:

  • api_key: Your API key (<API_KEY>).

 

Returned Fields:

  • Email: Email of Learner
  • Learning Group: Title of Learning Group Learner is enrolled in
  • Semester: Title of the Semester
  • Milestone: Title of the Milestone
  • Milestone Status: Descriptive status of progress in the Milestone
  • Percentage Complete: % value of mandatory contents complete in the Milestone