Skip to content

API Reference

All endpoints are rooted under /api.

Unless marked public, endpoints require Sanctum authentication.

Auth

MethodEndpointAccessDescription
POST/loginPublicAuthenticate user and return token payload
POST/logoutAuthenticatedInvalidate current token

Invites

MethodEndpointAccessDescription
GET/invites/{token}PublicResolve invite token metadata
POST/invites/acceptPublicCreate account from invite token
GET/invitesAdminList pending invites
POST/invitesAdminCreate invite
POST/invites/{id}/resendAdminRefresh and resend invite
DELETE/invites/{id}AdminRevoke pending invite

Courses

MethodEndpointAccessDescription
GET/coursesAuthenticatedList courses visible to user role
POST/coursesAdminCreate course
GET/courses/{id}AuthenticatedGet course details
PUT/courses/{id}AdminUpdate course
DELETE/courses/{id}AdminDelete course

Lessons and Progress

MethodEndpointAccessDescription
GET/courses/{id}/lessonsAuthenticatedLessons by course
POST/lessonsAdminCreate lesson
PUT/lessons/reorderAdminReorder lessons
PUT/lessons/{id}AdminUpdate lesson
DELETE/lessons/{id}AdminDelete lesson
POST/lessons/{id}/completeEmployeeMark lesson complete
GET/courses/{id}/progressAuthenticatedGet completed lesson IDs for user

Quizzes and Questions

MethodEndpointAccessDescription
GET/courses/{courseId}/quizzesAuthenticatedQuizzes by course
POST/quizzesAdminCreate quiz
PUT/quizzes/reorderAdminReorder quizzes
GET/quizzes/{id}AuthenticatedGet quiz
PUT/quizzes/{id}AdminUpdate quiz
DELETE/quizzes/{id}AdminDelete quiz
GET/quizzes/{id}/questionsAuthenticatedGet questions for quiz
POST/quizzes/{id}/submitEmployeeSubmit quiz and receive score
POST/questionsAdminCreate question
PUT/questions/reorderAdminReorder questions
PUT/questions/{id}AdminUpdate question
DELETE/questions/{id}AdminDelete question

Results

MethodEndpointAccessDescription
GET/results/{userId}AuthenticatedGet user results data
DELETE/results/{userId}/resetAuthenticatedReset progress for user

Users and Admin Analytics

MethodEndpointAccessDescription
GET/usersAdminList users
PUT/users/{id}/roleAdminChange user role
DELETE/users/{id}AdminDelete user
GET/admin/statsAdminPlatform stats summary
GET/admin/team-progressAdminTeam progress aggregate data

Assignments

MethodEndpointAccessDescription
GET/assignmentsAdminList assignments
POST/assignmentsAdminCreate assignment(s)
PUT/assignments/{id}AdminUpdate assignment
DELETE/assignments/{id}AdminDelete assignment

Notes

  • Employee and admin authorization is enforced by controller-level logic.
  • Route definitions are maintained in backend routes/api.php.
  • The pass threshold used by quiz completion logic is 80%.