Courses API
Portal course consumption endpoints and the full course administration surface.
Authentication
Course routes are split between PortalPolicy and CourseAdminPolicy depending on whether the endpoint is a learner or admin flow.
Endpoints
| Method | Path | Edition | Operation | Controller |
|---|---|---|---|---|
GET | /courses | Core | List Courses | CourseController@getCourses |
GET | /courses/{course_id} | Core | Get Course | CourseController@getCourse |
GET | /courses/{course_slug}/by-slug | Core | Get Course By Slug | CourseController@getCourseBySlug |
GET | /courses/{course_slug}/lessons/{lesson_slug}/by-slug | Core | Get Lesson By Slug | CourseController@getLessonBySlug |
POST | /courses/{course_id}/enroll | Core | Enroll Course | CourseController@enrollCourse |
PUT | /courses/{course_id}/lessons/{lesson_id}/completion | Core | Update Lesson Completion | CourseController@updateCompletionLesson |
GET | /courses/all-courses | Core | List All Courses | CourseController@getAllCourses |
GET | /admin/courses | Core | List Admin Courses | CourseAdminController@getCourses |
POST | /admin/courses | Core | Create Course | CourseAdminController@createCourse |
GET | /admin/courses/{course_id} | Core | Get Admin Course | CourseAdminController@findCourse |
PUT | /admin/courses/{course_id} | Core | Update Course | CourseAdminController@updateCourse |
POST | /admin/courses/{course_id}/duplicate | Core | Duplicate Course | CourseAdminController@duplicateCourse |
DELETE | /admin/courses/{course_id} | Core | Delete Course | CourseAdminController@deleteCourse |
GET | /admin/courses/{course_id}/students | Core | List Course Students | CourseAdminController@getCourseStudents |
POST | /admin/courses/{course_id}/students | Core | Add Course Student | CourseAdminController@addStudent |
DELETE | /admin/courses/{course_id}/students/{student_id} | Core | Remove Course Student | CourseAdminController@removeStudent |
GET | /admin/courses/{course_id}/users/search | Core | Search Course Users | CourseAdminController@getOtherUsers |
POST | /admin/courses/{course_id}/links | Core | Update Course Links | CourseAdminController@updateLinks |
GET | /admin/courses/{course_id}/meta-settings | Core | Get Course Meta Settings | CourseAdminController@getMetaSettings |
GET | /admin/courses/{course_id}/instructors/search | Core | Search Course Instructors | CourseAdminController@getOtherInstructors |
GET | /admin/courses/{course_id}/sections | Core | List Course Sections | CourseAdminController@getSections |
POST | /admin/courses/{course_id}/sections | Core | Create Course Section | CourseAdminController@createSection |
PATCH | /admin/courses/{course_id}/sections/indexes | Core | Reindex Course Sections | CourseAdminController@resetSectionIndexes |
GET | /admin/courses/{course_id}/sections/{section_id} | Core | Get Course Section | CourseAdminController@getSection |
PUT | /admin/courses/{course_id}/sections/{section_id} | Core | Update Course Section | CourseAdminController@updateSection |
PATCH | /admin/courses/{course_id}/sections/{section_id} | Core | Patch Course Section | CourseAdminController@patchSection |
DELETE | /admin/courses/{course_id}/sections/{section_id} | Core | Delete Course Section | CourseAdminController@deleteSection |
PATCH | /admin/courses/{course_id}/sections/{section_id}/indexes | Core | Reindex Course Lessons | CourseAdminController@resetLessonIndexes |
GET | /admin/courses/{course_id}/lessons | Core | List Course Lessons | CourseAdminController@getLessons |
POST | /admin/courses/{course_id}/lessons | Core | Create Course Lesson | CourseAdminController@createLesson |
PUT | /admin/courses/{course_id}/copy-section | Core | Copy Course Section | CourseAdminController@copySection |
PUT | /admin/courses/{course_id}/move-lesson | Core | Move Course Lesson | CourseAdminController@moveLesson |
GET | /admin/courses/{course_id}/lessons/{lesson_id} | Core | Get Course Lesson | CourseAdminController@getLesson |
PUT | /admin/courses/{course_id}/lessons/{lesson_id} | Core | Update Course Lesson | CourseAdminController@updateLesson |
PATCH | /admin/courses/{course_id}/lessons/{lesson_id} | Core | Patch Course Lesson | CourseAdminController@patchLesson |
DELETE | /admin/courses/{course_id}/lessons/{lesson_id} | Core | Delete Course Lesson | CourseAdminController@deleteLesson |
PUT | /admin/courses/{course_id}/lockscreens | PRO | Update Course Lockscreen Settings | ProAdminController@updateCourseLockscreenSettings |
POST | /courses/{course_id}/lessons/{lesson_id}/quiz/submit | PRO | Submit Lesson Quiz | FluentCommunityPro\App\Modules\Quiz\Http\Controllers\QuizController@submitQuiz |
GET | /courses/{course_id}/lessons/{lesson_id}/quiz/result | PRO | Get Lesson Quiz Result | FluentCommunityPro\App\Modules\Quiz\Http\Controllers\QuizController@getQuizResult |
GET | /admin/courses/{course_id}/quiz-results | PRO | List Course Quiz Results | FluentCommunityPro\App\Modules\Quiz\Http\Controllers\QuizController@getCourseQuizResults |
POST | /admin/courses/{course_id}/quiz-results/{quiz_id} | PRO | Update Course Quiz Result | FluentCommunityPro\App\Modules\Quiz\Http\Controllers\QuizController@updateQuizResult |