List Courses
Retrieves a list of published courses or all courses (admin/instructor only).Query Parameters
Returns only the 4 most recently published courses when set to
trueComma-separated list of course IDs to filter by (e.g., “1,2,3”)
Admin/instructor only: Returns all courses including unpublished drafts when set to
trueResponse
Array of course objects
Example Request
Example Response
Create Course
Creates a new course. Requires admin authentication.Request Body
Course title
Course description
Course thumbnail image URL
Course price
Enrollment mode: “free” or “paid”
Response
The created course object
Example Request
Get Course Details
Retrieves detailed information about a specific course including lessons, quizzes, instructors, and prerequisites.Path Parameters
Course ID or slug (e.g., “123” or “course-title-123”)
Response
Detailed course object with lessons, creator, instructors, prerequisites
Example Request
Delete Course
Deletes a course and all related data (lessons, quizzes, enrollments, progress). Requires admin authentication. Payment and certificate records are preserved for historical purposes.Path Parameters
Course ID or slug
Response
Success confirmation message
Example Request
Save/Update Course Draft
Saves or updates a course draft including all lessons, quizzes, resources, prerequisites, and instructors.Request Body
Course ID for updates, or “new” for creating a new course
Whether the course should be published (visible to students)
Complete course data including basicInfo, lessons, settings
Response
Updated course object
Course ID (useful for newly created courses)
Get Quiz Attempts
Retrieves the latest quiz attempt for a specific lesson.Path Parameters
Course ID
Query Parameters
Lesson ID
Response
Latest quiz attempt object with question_order and answer_orders for shuffled quizzes
Current attempt number (0 if no attempts exist)
Get Quiz Results
Retrieves all quiz results for the authenticated user in a course.Path Parameters
Course ID
Response
Array of quiz result objects
Results grouped by lesson ID
Submit Quiz Results
Submits quiz answers and calculates results. Handles quiz retakes and shuffle logic.Path Parameters
Course ID
Request Body
Lesson ID
Array of answer objects with questionId and userAnswer
Response
Success message
Saved quiz result records
Error Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Authentication required |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Course not found |
| 409 | Conflict - Already enrolled |
| 500 | Internal Server Error |