Skip to main content
POST
Create CourseLesson
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: CompletionType — defines what action marks the lesson as done:

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-Create role.

Enums

Request Body

Required Fields

integer
required
ID of the course this lesson belongs to.
string
required
Lesson title displayed to members.
integer
required
Position of the lesson within its section (or the course if unsectioned); lower numbers appear first.
integer
required
When the lesson becomes available: Immediate (1), after the previous lesson is done — Sequential (2), or after a set number of days — Timed (3).
integer
required
Number of days after enrolment before the lesson unlocks; only used when UnlockType is Timed (3).
integer
required
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..

Optional Fields

integer
ID of the course section this lesson belongs to (optional; lessons without a section appear ungrouped).
integer
ID of the coworker attributed as instructor for this lesson (optional; overrides the course-level host for this lesson).
string
Short summary shown in the lesson listing.
string
Full HTML or rich-text body of the lesson displayed to members when they open it.
boolean
Whether the lesson is active and visible to enrolled members.
string
URL of a new thumbnail image to upload (JPG/JPEG, PNG, or GIF, max 10 MB).
boolean
Set to true to remove the existing thumbnail image.

Code Examples

Response

200

integer
HTTP status code. 200 on success.
string
A human-readable message confirming the creation.
object
Contains the Id of the newly created record.
boolean
true if the courselesson was created successfully.
array
null on success.
Example Response

400

string
A summary of the validation error(s), in the format PropertyName: error message.
any
null on validation failure.
object[]
Array of validation errors.
boolean
false when the request fails validation.
Example Response