Skip to main content
GET
/
api
/
content
/
courselessons
{
  "Records": [
    {}
  ],
  "CurrentPage": 123,
  "CurrentPageSize": 123,
  "CurrentOrderField": "<string>",
  "CurrentSortDirection": 123,
  "FirstItem": 123,
  "LastItem": 123,
  "TotalItems": 123,
  "TotalPages": 123,
  "HasNextPage": true,
  "HasPreviousPage": true
}
A CourseLesson is an individual learning unit within a Course. Lessons are the building blocks that customers complete to work through a course’s content. Each lesson belongs to a Course and optionally to a CourseSection that groups related lessons together. Lessons have two key behavioural settings: UnlockType — controls when a lesson becomes available to enrolled members:
ValueMeaning
ImmediateAvailable as soon as the member enrols
SequentialUnlocked only after the previous lesson is completed
TimedUnlocked after a number of days specified by UnlockAfterDays
CompletionType — defines what action marks the lesson as done:
ValueMeaning
NoneNo completion tracking
VisitedMarked complete when the member opens the lesson
ButtonMember must click a completion button
VideoMember must finish watching the embedded video (must be hosted on YouTube)

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 CourseLesson-List role.

Enums

ValueName
1Immediate
2Sequential
3Timed
ValueName
1None
2Visited
3Button
4Video

Query Parameters

Pagination & Sorting

page
integer
default:"1"
The page number to retrieve.
size
integer
default:"25"
The number of records per page.
orderBy
string
The property name to sort results by (e.g. Name, CreatedOn).
dir
integer
Sort direction. 1 for ascending, -1 for descending.

Filters

CourseLesson_Course
integer
Filter by iD of the course this lesson belongs to.
CourseLesson_Course_Title
string
Filter by title of the parent course.
CourseLesson_Section
integer
Filter by iD of the course section this lesson belongs to (optional; lessons without a section appear ungrouped).
CourseLesson_Section_DisplayOrder
integer
Filter by display order of the parent section.
CourseLesson_Section_Title
string
Filter by title of the parent section.
CourseLesson_Instructor
integer
Filter by iD of the coworker attributed as instructor for this lesson (optional; overrides the course-level host for this lesson).
CourseLesson_Instructor_FullName
string
Filter by instructor full name.
CourseLesson_Instructor_CompanyName
string
Filter by instructor company name.
CourseLesson_Instructor_TeamNames
string
Filter by comma-separated list of teams the instructor belongs to.
CourseLesson_Title
string
Filter by lesson title displayed to members.
CourseLesson_SummaryText
string
Filter by short summary shown in the lesson listing.
CourseLesson_LessonContents
string
Filter by full HTML or rich-text body of the lesson displayed to members when they open it.
CourseLesson_Active
boolean
Filter by whether the lesson is active and visible to enrolled members.
CourseLesson_DisplayOrder
integer
Filter by position of the lesson within its section (or the course if unsectioned); lower numbers appear first.
CourseLesson_UnlockType
integer
Filter by when the lesson becomes available: Immediate (1), after the previous lesson is done — Sequential (2), or after a set number of days — Timed (3).
CourseLesson_ImageFileName
string
Filter by stored filename of the lesson thumbnail image (read-only; use NewImageUrl to set).
CourseLesson_NewImageUrl
string
Filter by uRL of a new thumbnail image to upload (JPG/JPEG, PNG, or GIF, max 10 MB).
CourseLesson_ClearImage
boolean
Filter by set to true to remove the existing thumbnail image.
CourseLesson_UnlockAfterDays
integer
Filter by number of days after enrolment before the lesson unlocks; only used when UnlockType is Timed (3).
CourseLesson_CompletionType
integer
Filter by how completion is tracked: None (1), Visited (2), completion Button (3), or Video watched (4). Video completion requires the lesson to embed a YouTube-hosted video..

Range Filters

from_CourseLesson_SectionDisplayOrder
integer
Filter by display order of the parent section greater than or equal to this value.
to_CourseLesson_SectionDisplayOrder
integer
Filter by display order of the parent section less than or equal to this value.
from_CourseLesson_DisplayOrder
integer
Filter by position of the lesson within its section (or the course if unsectioned); lower numbers appear first greater than or equal to this value.
to_CourseLesson_DisplayOrder
integer
Filter by position of the lesson within its section (or the course if unsectioned); lower numbers appear first less than or equal to this value.
from_CourseLesson_UnlockAfterDays
integer
Filter by number of days after enrolment before the lesson unlocks; only used when UnlockType is Timed (3) greater than or equal to this value.
to_CourseLesson_UnlockAfterDays
integer
Filter by number of days after enrolment before the lesson unlocks; only used when UnlockType is Timed (3) less than or equal to this value.
from_CourseLesson_CreatedOn
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CourseLesson_CreatedOn
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_CourseLesson_UpdatedOn
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CourseLesson_UpdatedOn
string
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/courselessons?page=1&size=15&orderBy=Title&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Filtering by Title

curl -X GET \
  "https://spaces.nexudus.com/api/content/courselessons?CourseLesson_Title=example-value&orderBy=Title&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Range filters

curl -X GET \
  "https://spaces.nexudus.com/api/content/courselessons?from_CourseLesson_UpdatedOn=2025-01-01T00:00&to_CourseLesson_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

200

Records
CourseLesson[]
The list of CourseLesson records matching the query. See the Get one CourseLesson endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each CourseLesson. The following fields are not included in the Records[] response: LessonContents, UnlockType, CompletionType.To get all fields, fetch the full record using the Get one CourseLesson endpoint.Important for updates: When updating a record via PUT, always retrieve the full record with a GET request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a PUT request, as missing fields may be unintentionally cleared.
CurrentPage
integer
Current page number.
CurrentPageSize
integer
Number of records per page.
CurrentOrderField
string
The field used for sorting.
CurrentSortDirection
integer
The sort direction (1 = ascending, -1 = descending).
FirstItem
integer
Index of the first item on the current page.
LastItem
integer
Index of the last item on the current page.
TotalItems
integer
Total number of matching records across all pages.
TotalPages
integer
Total number of pages.
HasNextPage
boolean
Whether there is a next page of results.
HasPreviousPage
boolean
Whether there is a previous page of results.
Example Response
{
  "Records": [
    {
      "CourseId": 0,
      "CourseTitle": null,
      "SectionId": null,
      "SectionDisplayOrder": null,
      "SectionTitle": null,
      "InstructorId": null,
      "InstructorFullName": null,
      "InstructorCompanyName": null,
      "InstructorTeamNames": null,
      "Title": "",
      "SummaryText": null,
      "LessonContents": null,
      "Active": false,
      "DisplayOrder": 0,
      "UnlockType": 0,
      "ImageFileName": null,
      "NewImageUrl": null,
      "ClearImageFile": null,
      "UnlockAfterDays": 0,
      "CompletionType": 0,
      "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": "CourseLesson Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "Title",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}