Skip to main content

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 true
string
Comma-separated list of course IDs to filter by (e.g., “1,2,3”)
boolean
Admin/instructor only: Returns all courses including unpublished drafts when set to true

Response

array
Array of course objects

Example Request

Example Response


Create Course

Creates a new course. Requires admin authentication.

Request Body

string
required
Course title
string
Course description
string
Course thumbnail image URL
number
Course price
string
Enrollment mode: “free” or “paid”

Response

object
The created course object

Example Request


Get Course Details

Retrieves detailed information about a specific course including lessons, quizzes, instructors, and prerequisites.

Path Parameters

string
required
Course ID or slug (e.g., “123” or “course-title-123”)

Response

object
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

string
required
Course ID or slug

Response

string
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

string
Course ID for updates, or “new” for creating a new course
boolean
Whether the course should be published (visible to students)
object
required
Complete course data including basicInfo, lessons, settings

Response

object
Updated course object
number
Course ID (useful for newly created courses)

Get Quiz Attempts

Retrieves the latest quiz attempt for a specific lesson.

Path Parameters

string
required
Course ID

Query Parameters

string
required
Lesson ID

Response

object
Latest quiz attempt object with question_order and answer_orders for shuffled quizzes
number
Current attempt number (0 if no attempts exist)

Get Quiz Results

Retrieves all quiz results for the authenticated user in a course.

Path Parameters

string
required
Course ID

Response

array
Array of quiz result objects
object
Results grouped by lesson ID

Submit Quiz Results

Submits quiz answers and calculates results. Handles quiz retakes and shuffle logic.

Path Parameters

string
required
Course ID

Request Body

number
required
Lesson ID
array
required
Array of answer objects with questionId and userAnswer

Response

string
Success message
array
Saved quiz result records
object

Error Codes