CourseProgress provides your plan members course usage data, including current and previous licensed users. These data snapshots can help in getting:

Course progress and completion percentages of individual learners. Durations and user completion data for a particular course.

A note on deltas:

The primary key is a composite of userId and courseId. To receive deltas or recent changes we recommend that you first do a complete data dump. Then, to receive updates, we recommend that you filter the data based on startDate and endDate. This will filter the data on the field updatedOn. Please note, the values for the updatedOn field are unreliable before February 2021 which is why you must do an initial data dump before working with deltas.

link GraphQL Schema definition

  • type CourseProgress {
  • # Unique identifier of a User.
  • userId: String!
  • # A User on Pluralsight is someone who is currently using or has ever used a
  • # license on the plan.
  • user: User
  • # Unique identifier of a Course, UUID format.
  • courseId: String!
  • # Main type that represents Course catalog data, video courses only.
  • course: Course
  • # A calculated numeric identifier based on the course's ID
  • courseIdNum: Int
  • # Percentage of the Course completed by the User.
  • percentComplete: Float
  • # Whether or not all Modules and Clips of the Course have been completed by the
  • # User.
  • isCourseCompleted: Boolean
  • # The date and time the User completed the Course, value will be null if not yet
  • # completed.
  • completedOn: DateTime
  • # Duration of Course in seconds.
  • courseSeconds: Int
  • # Total amount of actual view time of the course by the user. Adjusted playback
  • # speed still reflects actual view time, so a 10 minute clip watched at 2x will
  • # show 5 minutes of view time. For more details on what scenarios can lead to
  • # discrepancy between totalClipsWatched and percentComplete date, please see
  • # https://help.pluralsight.com/help/difference-between-course-completion-and-view-time
  • totalWatchedSeconds: Int
  • # Total number of clips watched on this course by the user.
  • totalClipsWatched: Int
  • # The date and time of the first time a Clip in this Course was viewed by the
  • # User.
  • firstViewedClipOn: DateTime
  • # The date and time of the last time a Clip in this Course was viewed by the User.
  • lastViewedClipOn: DateTime
  • # The unique identifier of the plan that the user belongs to.
  • planId: String
  • # The date and time of the last time usage was synced for a given record.
  • updatedOn: DateTime
  • }