> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Course Lesson

> Returns the full content of a single lesson within a course.

# Get Course Lesson

Returns the full content and metadata for a specific lesson within a course. Used to display lesson content and allow the customer to mark it as complete.

## Authentication

Requires a valid customer bearer token.

## Path Parameters

<ParamField path="courseId" type="number" required>
  Numeric identifier of the course.
</ParamField>

<ParamField path="lessonId" type="number" required>
  Numeric identifier of the lesson within the course.
</ParamField>

## Query Parameters

<ParamField query="_shape" type="string">
  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.
</ParamField>

## Response

Returns a `CourseLesson` object. The lesson content is nested inside a `Lesson` property.

<ResponseField name="Lesson" type="FullLesson">
  The lesson content object.
</ResponseField>

<ResponseField name="Lesson.Id" type="number" required>
  Unique identifier for the lesson.
</ResponseField>

<ResponseField name="Lesson.UniqueId" type="string">
  UUID for the lesson — used as `{lessonUniqueId}` in the complete-lesson endpoint.
</ResponseField>

<ResponseField name="Lesson.Title" type="string" required>
  Display title of the lesson.
</ResponseField>

<ResponseField name="Lesson.LessonContents" type="string">
  Full lesson content. May contain HTML.
</ResponseField>

<ResponseField name="Lesson.SummaryText" type="string">
  Short summary text for the lesson.
</ResponseField>

<ResponseField name="Completed" type="boolean">
  Whether the authenticated customer has marked this lesson as complete.
</ResponseField>

<ResponseField name="HasNextLesson" type="boolean">
  Whether there is a next lesson in the course.
</ResponseField>

<ResponseField name="IsLastActiveLesson" type="boolean">
  Whether this is the last active (uncompleted) lesson.
</ResponseField>

<ResponseField name="Course" type="CourseSummary">
  The parent course summary.
</ResponseField>

<ResponseField name="Section" type="Section">
  The section this lesson belongs to.
</ResponseField>

## Examples

### Fetch a lesson

```http theme={null}
GET /api/public/courses/v2/42/lessons/7
Authorization: Bearer {token}
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'

const { resource: lesson } = useTypedData(httpClient, endpoints.courses.lesson(42, 7))
```
