Grow LMS API Documentation

Grow by Plenum — Reporting & Analytics

Two ways to report on training — ready-made rollups, or your own warehouse.

This document covers how to get reporting out of Grow, as distinct from the raw record extraction in Pull-Based Data Access. There are two complementary approaches, and the right answer depends on who’s asking and how much control they need:

  • Native analytics — query Grow for pre-computed rollups (course success rates, per-activity completion, certificates issued). Fast, no pipeline, good for in-the-moment answers.
  • Warehouse your own — pull the raw records (progress, completions, certificates) into your data platform and build exactly the reports your business defines.

Every call uses the Pl-Client header and Authorization: Bearer <ACCESS_TOKEN> from Authentication & Access Setup. <SCHOOL_ID> is your environment.


1. Course-level analytics

For a rollup of how a course is performing across everyone enrolled, request its analytics:

curl "https://<SCHOOL_ID>/admin/api/v2/courses/<COURSE_ID>/analytics" \
  -H "Pl-Client: <CLIENT_ID>" \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

The response summarizes the whole course population:

Field Meaning
students Number of learners in the course.
success_rate Percentage who passed / succeeded.
avg_score_rate Average assessment score across learners (%).
certificates_issued Number of certificates the course has produced.
total_study_time Total time spent across all learners (seconds).
avg_time_to_finish Average time to complete the course (seconds).
learning_units Number of activities in the course.
video_time / video_viewing_time Total video duration vs. time actually viewed.

For a compliance program, success_rate, avg_score_rate, and certificates_issued are the headline numbers — “is this required course actually getting our people certified, and how well are they scoring?”


2. Unit-level analytics

To see where in a course learners struggle or stall, drop to per-activity analytics. Each unit reports:

Field Meaning
name / type The activity and its kind.
users_completed How many learners completed this specific activity.
viewers How many viewed it.
avg_score_rate Average score on this activity (%).
avg_study_time / total_study_time Time spent on it.

This is how you find the hard unit — the assessment with a low completion or low average score that’s gating your overall pass rate — rather than only seeing the course-level outcome.


3. Grades and assessment results

Where analytics give aggregates, grades give the per-learner score that sits behind a completion — part of the compliance record, not just a pass/fail. You can pull course grades for a population and retrieve individual assessment responses (the learner’s submitted answers and their scoring). When an auditor asks not just “did they complete it” but “what did they score,” this is the source.

Grades flow through the same records your integration already consumes — see Data Schema Reference for the score fields on progress and certificate records.


4. Segments for cohort reporting

A segment is a named, saved grouping of learners (id, name, description) you can report against — pull the segment, then pull all users in it. Segments complement the groups and tags from Provisioning & Workforce Management:

  • Tags / groups organize people for assignment and management.
  • Segments are oriented toward reporting — slicing your population for a particular view.

Use them together: tag your workforce by site and crew, then report by the segment that matters for a given compliance deadline.


5. Native analytics vs. warehousing — which to use

Both are first-class; pick per use case.

Use native analytics when… Warehouse the raw records when…
You want a quick rollup without building a pipeline. You need reports your business defines, not pre-set ones.
The question fits a course- or unit-level summary. You need to join training data with HR, scheduling, or safety-incident data.
You’re spot-checking or powering an in-platform view. You need historical trend, point-in-time snapshots, or a system of record.
A manager wants “how’s this course doing” now. Compliance/audit needs a controlled, retained dataset.

Most enterprises do both: native analytics for fast operational answers, and a warehouse (fed by Webhooks + Pull-Based Data Access) as the governed system of record. The two reconcile because they describe the same underlying activity.


6. Where to go next

  • Pull-Based Data Access — the raw-record extraction that feeds a warehouse.
  • Data Schema Reference — the progress, certificate, and grade fields behind these numbers.
  • Provisioning & Workforce Management — the groups, tags, and segments you report across.

Prepared by Plenum Solutions for your evaluation. “Grow by Plenum” is operated and supported by Plenum on your behalf. Exact endpoint paths are confirmed for your environment during onboarding. For integration design support, contact your Plenum engagement lead.