List Course Lessons
Returns the ordered list of lessons for a specific course. Used to render the course syllabus and track which lessons the customer has completed.
Authentication
Requires a valid customer bearer token to include completion status.
Path Parameters
Numeric identifier of the course. Returned as Id from GET /api/public/courses/v2.
Query Parameters
Comma-separated list of field paths to include in the response. When provided, only the
specified fields are returned — useful for reducing payload size. Supports nested paths
using dot notation.
Response
Returns a CourseSummary object containing the lessons array and course-level metadata.
Top-Level Fields
| Field | Type | Description |
|---|
Enrolled | boolean | Whether the customer is enrolled in the course |
Completed | boolean | Whether the customer has completed the course |
Completeness | number | Completion percentage (0–1) |
CanAccessCourse | boolean | Whether the customer can access course content |
AttendeeCount | number | Number of enrolled attendees |
LessonsCount | number | Total number of lessons |
CreatedOnUtc | string | Course creation date (UTC) |
Attendee (current customer)
| Field | Type | Description |
|---|
Id | number | Attendee record identifier |
FullName | string | Attendee full name |
Email | string | Attendee email |
CreatedOn | string | Enrollment date (business-local) |
CreatedOnUtc | string | Enrollment date (UTC) |
Course
| Field | Type | Description |
|---|
Id | number | Course identifier |
Title | string | Course title |
SummaryText | string | Short course summary |
FullDescription | string | Full course description (HTML) |
OverviewText | string | Course overview text |
GroupName | string | Course group / category name |
Visibility | string | Visibility setting |
Active | boolean | Whether the course is active |
ShowInHomePage | boolean | Whether shown on the home page |
ShowOverview | boolean | Whether the overview tab is visible |
HasCommunityGroup | boolean | Whether the course has a discussion group |
CreatedOn | string | Date created (business-local time) |
CreatedOnUtc | string | Date created (UTC) |
UpdatedOn | string | null | Date last updated (business-local time) |
UpdatedOnUtc | string | null | Date last updated (UTC) |
Lessons Array
| Field | Type | Description |
|---|
Id | number | Lesson identifier |
Title | string | Lesson title |
SummaryText | string | Lesson summary text |
DisplayOrder | number | Sort order within the course |
IsOpen | boolean | Whether the lesson is available |
IsComplete | boolean | Whether the customer has completed it |
Lessons Section (nested)
| Field | Type | Description |
|---|
Section.Id | number | Section identifier |
Section.Title | string | Section title |
Section.DisplayOrder | number | Section sort order |
Other
| Field | Type | Description |
|---|
Tariff | object | null | Associated plan/tariff (if any) |
Host | object | null | Course host profile |
CommunityGroup | object | null | Linked discussion group (Id, Name) |
CurrentLesson | object | null | The first open, incomplete lesson |
Examples
Fetch lessons for a course
GET /api/public/courses/v2/42/lessons
Authorization: Bearer {token}
TypeScript Integration
import endpoints from '@/api/endpoints'
const { resource: lessons } = useTypedData(httpClient, endpoints.courses.lessons(42))