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

# List My Courses

> Returns all courses the authenticated customer is enrolled in.

# List My Courses

Returns a paginated list of courses the authenticated customer has enrolled in. Includes progress information such as completed lesson count.

## Authentication

Requires a valid customer bearer token.

## 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. Example: `_shape=Records.Name,Records.Description,Records.Progress`.
</ParamField>

## Response

Returns an `ApiListResult<CourseSummary>` with the customer's enrolled courses and progress.

The top-level response includes standard pagination fields (`CurrentPage`, `TotalItems`, `TotalPages`, etc.). Each item in the `Records` array has:

#### Status

| Field             | Type      | Description                                   |
| ----------------- | --------- | --------------------------------------------- |
| `Enrolled`        | `boolean` | Whether the customer is enrolled              |
| `Completed`       | `boolean` | Whether the customer has completed the course |
| `Completeness`    | `number`  | Completion percentage (0–1)                   |
| `CanAccessCourse` | `boolean` | Whether the customer can access the course    |

#### Counts

| Field           | Type     | Description               |
| --------------- | -------- | ------------------------- |
| `AttendeeCount` | `number` | Total number of attendees |
| `LessonsCount`  | `number` | Total number of lessons   |

#### Attendee

| Field                   | Type     | Description            |
| ----------------------- | -------- | ---------------------- |
| `Attendee.Id`           | `number` | Attendee identifier    |
| `Attendee.FullName`     | `string` | Attendee full name     |
| `Attendee.Email`        | `string` | Attendee email address |
| `Attendee.CreatedOn`    | `string` | Enrolment date (local) |
| `Attendee.CreatedOnUtc` | `string` | Enrolment date (UTC)   |

#### Course

| Field                      | Type       | Description                          |
| -------------------------- | ---------- | ------------------------------------ |
| `Course.Id`                | `number`   | Course identifier                    |
| `Course.Title`             | `string`   | Course title                         |
| `Course.SummaryText`       | `string`   | Short course summary                 |
| `Course.FullDescription`   | `string`   | Full course description              |
| `Course.OverviewText`      | `string`   | Course overview text                 |
| `Course.GroupName`         | `string`   | Course group/category name           |
| `Course.Visibility`        | `string`   | Course visibility setting            |
| `Course.Active`            | `boolean`  | Whether the course is active         |
| `Course.ShowInHomePage`    | `boolean`  | Whether shown on home page           |
| `Course.ShowOverview`      | `boolean`  | Whether overview is shown            |
| `Course.HasCommunityGroup` | `boolean`  | Whether course has a community group |
| `Course.Business`          | `Business` | Business hosting the course          |

#### Nested Objects

| Field            | Type         | Description                     |
| ---------------- | ------------ | ------------------------------- |
| `Tariff`         | `Tariff`     | Associated plan/tariff          |
| `Attendees`      | `Coworker[]` | List of course attendees        |
| `CommunityGroup` | `object`     | Community group (`Id`, `Name`)  |
| `Lessons`        | `object[]`   | Course lessons                  |
| `Host`           | `Coworker`   | Course host/instructor          |
| `CreatedOnUtc`   | `string`     | Record creation timestamp (UTC) |

## Examples

### Fetch enrolled courses

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

## TypeScript Integration

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

const { resource: myCourses } = useTypedData(httpClient, endpoints.courses.my())
```
