> ## 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 Details

> Returns the summary and metadata for a single course.

# Get Course Details

Returns the full summary for a specific course, including description, lesson count, and enrolment status. Used on the course detail page before the member chooses to enrol.

## Authentication

No authentication required for public course details. Enrolment status fields are populated only for authenticated customers.

## Path Parameters

<ParamField path="id" type="number" required>
  Numeric identifier of the course. Returned as `Id` in the records from `GET /api/public/courses/v2`.
</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 `CourseSummary` object. The course metadata is nested inside a `Course` property.

<ResponseField name="Enrolled" type="boolean">
  Whether the authenticated customer is enrolled in this course.
</ResponseField>

<ResponseField name="Completed" type="boolean">
  Whether the authenticated customer has completed this course.
</ResponseField>

<ResponseField name="Completeness" type="number">
  Completion percentage (0–100).
</ResponseField>

<ResponseField name="LessonsCount" type="number">
  Total number of lessons in the course.
</ResponseField>

<ResponseField name="Course" type="Course">
  The course metadata object.
</ResponseField>

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

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

<ResponseField name="Course.FullDescription" type="string">
  Full course description. May contain HTML.
</ResponseField>

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

<ResponseField name="Lessons" type="Lesson[]">
  Array of lesson summaries for the course.
</ResponseField>

<ResponseField name="Host" type="Coworker">
  The host/instructor of the course.
</ResponseField>

<ResponseField name="Tariff" type="Tariff">
  Pricing information for the course, if applicable.
</ResponseField>

## Examples

### Fetch course summary

```http theme={null}
GET /api/public/courses/v2/42/summary
```

## TypeScript Integration

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

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