Get learner progress report
The Learner Progress report: totals by status and one row per enrollment.
GET https://cotlet.dev/api/v1/ispring/learner-progress
read
Opens Reports, Learner Progress, with the filters you pass, and returns the totals above the table and its rows. trained is the completion rate: completed enrollments divided by all enrollments. Only active users appear unless user_status is inactive, and a Department Administrator sees only the departments they manage.
Parameters
| Name | Type | Description |
|---|---|---|
| department_id string | string | Only this department and its sub-departments. |
| group_id string | string | Only members of this group. |
| course_id string | string | Only this learning item. A course nobody is enrolled in still shows. |
| enrollment_type enum | enum | enrolled_by_administrator (mandatory items) or added_from_catalog (items learners added). Default: both. |
| user_status enum | enum | active (default) or inactive. |
| cursor string | string | Next page cursor from the previous call. |
Request
curl https://cotlet.dev/api/v1/ispring/learner-progress \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("ispring", "get_learner_progress") const result = await cotlet.call('ispring', 'get_learner_progress'); cotlet call ispring get_learner_progress Example response
{
"summary": {
"trained_percent": 60,
"passed": 24,
"failed": 0,
"in_progress": 6,
"not_started": 10,
"overdue": 3
},
"rows": [
{
"user": "Lena Ortiz",
"department": "Sales",
"course": "Information Security Basics",
"status": "in_progress",
"due_date": "2026-10-15T00:00:00",
"overdue": true
},
{
"user": "Sam Okafor",
"department": "Sales",
"course": "Information Security Basics",
"status": "passed",
"due_date": "2026-10-15T00:00:00",
"overdue": false
}
],
"next_cursor": null
}