A CourseCompletedLesson records that a specific CourseMember has completed a specific CourseLesson. Each record is the junction between a lesson and the enrolled member who finished it.
These records are typically created automatically by the Members Portal when a member meets the lesson’s completion criteria (e.g. visiting the lesson page, clicking a completion button, or finishing a video). They can also be created or deleted manually via the API to manage progress programmatically.
Use this entity to query which lessons a member has completed, or to find all members who have completed a given lesson.
Authentication
This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header.
The authenticated user must be a full unrestricted administrator or have the CourseCompletedLesson-List role.
Query Parameters
The page number to retrieve.
The number of records per page.
The property name to sort results by (e.g. Name, CreatedOn).
Sort direction. 1 for ascending, -1 for descending.
Filters
CourseCompletedLesson_CourseLesson
Filter by iD of the course lesson that was completed.
CourseCompletedLesson_CourseLesson_Title
Filter by title of the completed lesson.
CourseCompletedLesson_CourseMember
Filter by iD of the course enrolment (CourseMember) record for the member who completed the lesson.
CourseCompletedLesson_CourseMember_Coworker_FullName
Filter by full name of the member who completed the lesson.
CourseCompletedLesson_CourseMember_Coworker_CompanyName
Filter by company name of the member who completed the lesson.
CourseCompletedLesson_CourseMember_Coworker_TeamNames
Filter by comma-separated list of teams the member belongs to.
Range Filters
from_CourseCompletedLesson_CreatedOn
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CourseCompletedLesson_CreatedOn
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_CourseCompletedLesson_UpdatedOn
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CourseCompletedLesson_UpdatedOn
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.
Code Examples
Simple listing
curl -X GET \
"https://spaces.nexudus.com/api/content/coursecompletedlessons?page=1&size=15&orderBy=CreatedOn&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Filtering by CreatedOn
curl -X GET \
"https://spaces.nexudus.com/api/content/coursecompletedlessons?CourseCompletedLesson_CreatedOn=example-value&orderBy=CreatedOn&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Range filters
curl -X GET \
"https://spaces.nexudus.com/api/content/coursecompletedlessons?from_CourseCompletedLesson_UpdatedOn=2025-01-01T00:00&to_CourseCompletedLesson_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
200
The list of CourseCompletedLesson records matching the query. See the Get one CourseCompletedLesson endpoint for the full list of properties returned for each record.
Number of records per page.
The field used for sorting.
The sort direction (1 = ascending, -1 = descending).
Index of the first item on the current page.
Index of the last item on the current page.
Total number of matching records across all pages.
Whether there is a next page of results.
Whether there is a previous page of results.
{
"Records": [
{
"CourseLessonId": 0,
"CourseLessonTitle": null,
"CourseMemberId": 0,
"CourseMemberCoworkerFullName": null,
"CourseMemberCoworkerCompanyName": null,
"CourseMemberCoworkerTeamNames": null,
"Id": 87654321,
"UpdatedOn": "2025-01-15T10:30:00Z",
"CreatedOn": "2025-01-10T08:00:00Z",
"UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"UpdatedBy": "admin@example.com",
"IsNew": false,
"SystemId": null,
"ToStringText": "CourseCompletedLesson Example",
"LocalizationDetails": null,
"CustomFields": null
}
],
"CurrentPageSize": 15,
"CurrentPage": 1,
"CurrentOrderField": "CreatedOn",
"CurrentSortDirection": 1,
"FirstItem": 1,
"HasNextPage": false,
"HasPreviousPage": false,
"LastItem": 1,
"PageNumber": 1,
"PageSize": 15,
"TotalItems": 1,
"TotalPages": 1
}