Reports API

Manage reports with these API endpoints

Anthony Karcz avatar
Written by Anthony Karcz
Updated over a week ago

What This API Endpoint Does

With the Reports API you can retrieve the user activity report (with all user sessions account-wide), get a list of learner sessions for a specific course or learning path, a list of course sessions within a learning path, or a list of all course sessions for a specific learner.

Endpoints

  • GET /reports/activity - user activity report (list of user sessions)

  • GET /reports/courses/{courseId} - course learner report (list of learner sessions for a course)

  • GET /reports/learners/{userId} - learner course report (list of course sessions for a learner)

  • GET /reports/learning-paths/{learningPathId}/courses - learning path courses report (list of course sessions in a learning path)

  • GET /reports/learning-paths/{learningPathId}/learners - learning path learners report (list of learner sessions in a learning path)

  • GET /reports/groups/{groupId}/courses - Learn• Group courses report (list of course sessions in a group)

Session object (user activity with a course)

  • courseId (string) - course identifier

  • courseTitle (string) - title of course

  • courseReportUrl (string) - URL to fetch course report from the API

  • courseUrl (string) - URL to fetch course's details from the API

  • userId (string) - user identifier

  • email (string) - user email address

  • firstName (string) - the user's first name

  • lastName (string) - the user's last name

  • learnerReportUrl (string) - URL to fetch the user's learner report from the API

  • userUrl (string) - URL to fetch user's details from the API

  • duration (string) - ISO 8601-formatted duration of user session

  • numberOfLessonsCompleted (integer) - number of lessons completed

  • quizScorePercent (integer) - quiz score percentage (if quiz present)

  • isQuizPassed (bool) - whether user passed quiz or not (if quiz present)

  • startedAt (string) - ISO 8601-formatted UTC timestamp of when session started

  • userDeleted (bool) - whether the user has been removed from the Rise account or not.

  • courseDeleted (bool) - whether the course has been deleted.

  • courseAvailable (boolean) - returns true if the course is part of catalog content, but it is no longer accessible due to the content being unavailable

Course learner object (user enrolled in a course)

  • userId (string) - user identifier

  • email (string) - user email address

  • firstName (string) - the user's first name

  • lastName (string) - the user's last name

  • learnerReportUrl (string) - URL to fetch the user's learner report from the API

  • userUrl (string) - URL to fetch user's details from the API

  • duration (string) - ISO 8601-formatted duration of average user session

  • quizScorePercent (integer) - quiz score percentage (if quiz present)

  • dueAt (string) - ISO 8601-formatted UTC timestamp of when course is due for user (if applicable)

  • status (string) - status of course for user (one of Not Started, In Progress, or Complete)

  • completedAt (string) - Timestamp of when the course was completed by the learner or null.

  • userDeleted (bool) - whether the user has been removed from the Rise account or not.

  • progress (integer) - progress percentage

Learner course object (course a learner is enrolled in)

  • courseId (string) - course identifier

  • courseTitle (string) - title of course

  • courseReportUrl (string) - URL to fetch course report from the API

  • courseUrl (string) - URL to fetch course's details from the API

  • duration (string) - ISO 8601-formatted duration of average user session

  • quizScorePercent (integer) - quiz score percentage (if quiz present)

  • dueAt (string) - ISO 8601-formatted UTC timestamp of when course is due for user (if applicable)

  • status (string) - status of course for user (one of Not Started, In Progress, or Complete)

  • completedAt (string) - Timestamp of when the course was completed by the learner or null.

  • courseDeleted (bool) - whether the course has been deleted.

  • progress (integer) - progress percentage

  • courseAvailable (boolean) - returns true if the course is part of catalog content, but it is no longer accessible due to the content being unavailable

Learning path course object (course in a learning path)

  • courseId (string) ****- course identifier

  • courseTitle (string) - course title

  • courseUrl (string) - URL to fetch the course's details from the API

  • numberOfLessons (integer) - number of lessons in the course

  • averageDuration (string) - ISO 8601-formatted duration of average user session

  • courseReportUrl (string) - URL to fetch the course report from the API

  • courseDeleted (bool) - whether the course has been deleted.

Learning path learner object (learner in a learning path)

  • userId (string) - user identifier

  • email (string) - user email address

  • firstName (string) - the user's first name

  • lastName (string) - the user's last name

  • learnerReportUrl (string) - URL to fetch the user's learner report from the API

  • userUrl (string) - URL to fetch user's details from the API

  • duration (string) - ISO 8601-formatted duration of average user session

  • dueAt (string) - ISO 8601-formatted UTC timestamp of when the learning path is due for user (if applicable)

  • status (string) - status of learning path for user (one of Not Started, In Progress, or Complete)

  • userDeleted (bool) - whether the user has been removed from the Rise account or not.

Group Course Object (course in a group)

  • courseId (string) ****- course identifier

  • courseTitle (string) - course title

  • courseUrl (string) - URL to fetch the course's details from the API

  • averageDuration (string) - ISO 8601-formatted duration of average user session

  • courseReportUrl (string) - URL to fetch the course report from the API

  • courseDeleted (bool) - whether the course has been deleted

  • enrollmentDeleted (bool) - whether the group was unenrolled from the course

Get Activity Report

GET /reports/activity

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 2,000 (defaults to 50)

Example Response

{ 
"sessions": [
{
"courseAvailable": true, //
"courseId": "example-course-id-1",
"courseDeleted": false,
"courseTitle": "Course Title 1",
"courseReportUrl": "https://api.rise.com/reports/courses/example-course-id-1",
"courseUrl": "https://api.rise.com/courses/example-course-id-1",
"userId": "example-user-id-1",
"firstName": "Example First Name 1",
"lastName": "Example Last Name 1",
"learnerReportUrl": "https://api.rise.com/reports/learners/example-user-id-1",
"userDeleted": false,
"userUrl": "https://api.rise.com/users/example-user-id-1",
"duration": "PT37.578S",
"numberOfLessonsCompleted": 1,
"quizScorePercent": null,
"isQuizPassed": null,
"startedAt": "2020-01-01T12:30:00.000Z"
}, ...
],
"nextUrl": "https://url-for-next-page-of-results"
}

Get Course Learner Report

GET /reports/courses/{courseId}

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 2,000 (defaults to 50)

Example Response

{ 
"courseAvailable": true, //
"courseDeleted": false,
"courseUrl": "https://api.rise.com/courses/example-course-id",
"learners": [
{
"userId": "example-user-id-1",
"firstName": "Example First Name 1",
"lastName": "Example Last Name 1",
"learnerReportUrl": "https://api.rise.com/reports/learners/example-user-id-1",
"userUrl": "https://api.rise.com/users/example-user-id-1",
"duration": "PT37.578S",
"progress": 51,
"quizScorePercent": null,
"dueAt": "2020-01-01T12:30:00.000Z",
"status": "Complete",
"userDeleted": false,
"completedAt": "2019-12-31T12:30:00.000Z",
}, ...
],
"nextUrl": "https://url-for-next-page-of-results"
}

Endpoint-specific Error Codes

  • course_not_found - cannot retrieve report because course does not exist

Get Learner Course Report

GET /reports/learners/{userId}

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 2,000 (defaults to 50)

Example Response

{
"userDeleted": false,
"userUrl": "https://api.rise.com/users/example-user-id",
"courses": [
{
"completedAt": "2019-12-31T12:30:00.000Z",
"courseDeleted": false,
"courseId": "example-course-id-1",
"courseTitle": "Course Title 1",
"courseReportUrl": "https://api.rise.com/reports/courses/example-course-id-1",
"courseUrl": "https://api.rise.com/courses/example-course-id-1",
"duration": "PT37.578S",
"progress": 51,
"quizScorePercent": null,
"dueAt": "2020-01-01T12:30:00.000Z",
"status": "Complete"
}, ...
],
"nextUrl": "https://url-for-next-page-of-results"
}

Endpoint-specific Error Codes

  • user_not_found - cannot retrieve report because user does not exist

Get Learning Path Courses Report

GET /reports/learning-paths/{learningPathId}/courses

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 2,000 (defaults to 50)

Example Response

{ 
"learningPathDeleted": false,
"learningPathUrl": "https://api.rise.com/learning-paths/example-learning-path-id",
"learnersReportUrl": "https://api.rise.com/reports/learning-paths/example-learning-path-id/learners",
"courses": [
{
"courseDeleted": false,
"courseId": "example-course-1",
"courseTitle": "Example Course",
"courseUrl": "https://api.rise.com/courses/example-course-1",
"numberOfLessons": 6,
"averageDuration": "PT37.578S",
"courseReportUrl": "https://api.rise.com/reports/courses/example-course-1"
}, ...
],
"nextUrl": "https://url-for-next-page-of-results"
}

Endpoint-specific Error Codes

  • learning_path_not_found - cannot retrieve report because learning path does not exist

Get Learning Path Learners Report

GET /reports/learning-paths/{learningPathId}/learners

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 2,000 (defaults to 50)

Example Response

{ 
"learningPathUrl": "https://api.rise.com/learning-paths/example-learning-path-id",
"coursesReportUrl": "https://api.rise.com/reports/learning-paths/example-learning-path-id/courses",
"learners": [
{
"dueAt": null,
"duration": "PT37.578S",
"firstName": "Example First Name 1",
"lastName": "Example Last Name 1",
"learnerReportUrl": "https://api.rise.com/reports/learners/example-user-id-1",
"status": "Complete",
"userDeleted": false,
"userId": "example-user-id-1",
"userUrl": "https://api.rise.com/users/example-user-id-1"
}, ...
],
"nextUrl": "https://url-for-next-page-of-results"
}

Endpoint-specific Error Codes

  • learning_path_not_found - cannot retrieve report because learning path does not exist

Get Group Courses Report

GET /reports/groups/{groupId}/courses

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 2000 (defaults to 50)

Example response

{ 
"courses": [
{
"courseDeleted": false,
"courseId": "example-course-1",
"courseTitle": "Example Course",
"courseUrl": "<https://api.rise.com/courses/example-course-1>",
"averageDuration": "PT0S",
"courseReportUrl": "<https://api.rise.com/reports/courses/example-course-1>",
"enrollmentDeleted": false }, ... ],
"groupDeleted": false,
"groupUrl": "<https://api.rise.com/groups/example-group-1>",
"nextUrl": "<https://url-for-next-page-of-results>"
}

Endpoint-specific error codes

  • group_not_found - can't retrieve report because group does not exist

Did this answer your question?