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

# List Courses

> Fetch published courses with optional filtering by learning path and user progress.

# List Courses

Retrieve published courses. When called by an authenticated user, the response includes the user's personal enrollment and progress status for each course.

***

## Get All Courses

### Endpoint

```http theme={null}
GET /api/v2/course
```

### Headers

```http theme={null}
Authorization: Bearer <jwt_access_token>
```

### Query Parameters

| Parameter        | Type     | Required | Description                                                    |
| :--------------- | :------- | :------- | :------------------------------------------------------------- |
| `learningPathId` | `string` | No       | Filter courses belonging to a specific learning path UUID      |
| `skillLevel`     | `string` | No       | Filter by skill level (`BEGINNER`, `INTERMEDIATE`, `ADVANCED`) |

### Response (200 OK)

```json theme={null}
{
  "success": true,
  "data": [
    {
      "id": "7a3e9c12-3456-4abc-8def-1234567890ab",
      "title": "Solidity Smart Contract Development",
      "description": "Learn to write, test, and deploy secure Solidity contracts on Lisk L2.",
      "thumbnailUrl": "https://ik.imagekit.io/learnway/courses/solidity.png",
      "isPremium": false,
      "estimatedDurationMinutes": 120,
      "totalLessons": 8,
      "totalXP": 400,
      "totalGems": 50,
      "learningPathId": "1b2c3d4e-5f60-7a8b-9c0d-ef1234567890",
      "userProgress": {
        "isEnrolled": true,
        "progressPercentage": 62.5,
        "completedLessons": 5
      }
    }
  ]
}
```
