Skip to content

API endpoints

Generated from route definitions in api/routes and api/packages

Request and response schemas are in the Swagger UI that every API host serves at /api/documentation (API reference). This index is extracted statically from the route files, so it lists routes even when their Swagger annotations are missing. Routes of third-party packages (Passport /oauth/*, Horizon /horizon/*, l5-swagger /api/documentation and /docs, broadcasting) are not included. “Auth” means the route or its group uses the auth:api middleware (Passport bearer token).

Application routes in api/routes.

Method Path Auth Action
GET /api/name closure
GET /api/events EventAPIController@index
GET /api/health SimpleHealthCheckController@__invoke
GET /api/healthcheck HealthCheckJsonResultsController@__invoke
GET /email closure
GET /stripe-test closure

Package: adapt

Method Path Auth Action
GET /api/admin/adapt yes AdaptSourceController@index
POST /api/admin/adapt yes AdaptSourceController@store
GET /api/admin/adapt/{id} yes AdaptSourceController@show
DELETE /api/admin/adapt/{id} yes AdaptSourceController@destroy
GET /api/admin/adapt/{id}/source yes AdaptSourceController@source
GET /api/admin/adapt/{id}/versions yes AdaptSourceController@versions
POST /api/admin/adapt/{id}/versions yes AdaptSourceController@addVersion
POST /api/admin/adapt/{id}/build yes AdaptSourceController@build

Package: assign-without-account

Method Path Auth Action
GET /api/admin/user-submissions yes UserSubmissionAdminController@index
POST /api/admin/user-submissions yes UserSubmissionAdminController@create
PUT /api/admin/user-submissions/{id} yes UserSubmissionAdminController@update
DELETE /api/admin/user-submissions/{id} yes UserSubmissionAdminController@delete

Package: auth

Method Path Auth Action
GET /api/meta MetaController@show
POST /api/auth/device/code DeviceAuthController@code
POST /api/auth/device/token DeviceAuthController@token
GET /api/auth/device/requests/{user_code} yes DeviceAuthController@show
POST /api/auth/device/requests/{user_code}/approve yes DeviceAuthController@approve
POST /api/auth/device/requests/{user_code}/deny yes DeviceAuthController@deny
GET /api/auth/tokens yes TokenController@index
POST /api/auth/tokens yes TokenController@store
GET /api/auth/tokens/current yes TokenController@current
DELETE /api/auth/tokens/{id} yes TokenController@destroy
GET /api/admin/tokens yes TokenAdminController@index
DELETE /api/admin/tokens/{id} yes TokenAdminController@destroy
GET /api/admin/tokens/{id}/audit yes TokenAdminController@audit
GET /api/admin/agent-audit yes TokenAdminController@agentAudit
POST /api/admin/auth/impersonate yes LoginApiController@impersonate
POST /api/auth/register yes RegisterApiController@register
POST /api/auth/login yes LoginApiController@login
GET /api/auth/registerable-groups yes AuthApiController@registerableGroups
POST /api/auth/password/forgot yes AuthApiController@forgotPassword
POST /api/auth/password/reset yes AuthApiController@resetPassword
GET /api/auth/social/{provider} yes AuthApiController@socialRedirect
GET /api/auth/social/{provider}/callback yes AuthApiController@socialCallback
POST /api/auth/social/complete/{token} yes AuthApiController@completeSocialData
GET /api/auth/email/verify/{id}/{hash} yes AuthApiController@verifyEmail
POST /api/auth/email/resend yes AuthApiController@resendEmailVerification
POST /api/auth/logout yes LogoutApiController@logout
GET /api/auth/refresh yes AuthApiController@refresh
GET /api/profile/me yes ProfileAPIController@me
PUT /api/profile/me yes ProfileAPIController@update
PUT /api/profile/me-auth yes ProfileAPIController@updateAuthData
PUT /api/profile/password yes ProfileAPIController@updatePassword
PUT /api/profile/interests yes ProfileAPIController@interests
GET /api/profile/settings yes ProfileAPIController@settings
PUT /api/profile/settings yes ProfileAPIController@settingsUpdate
POST /api/profile/upload-avatar yes ProfileAPIController@uploadAvatar
DELETE /api/profile/delete-avatar yes ProfileAPIController@deleteAvatar
DELETE /api/profile yes ProfileAPIController@delete
POST /api/profile/delete/init yes ProfileAPIController@initProfileDeletion
GET /api/profile/delete/{userId}/{token} ProfileAPIController@confirmDeletionProfile
GET /api/admin/users yes UserController@listUsers
POST /api/admin/users yes UserController@createUser
GET /api/admin/users/{id} yes UserController@getUser
PATCH /api/admin/users/{id} yes UserController@partialUpdateUser
PUT /api/admin/users/{id} yes UserController@updateUser
DELETE /api/admin/users/{id} yes UserController@deleteUser
POST /api/admin/users/{id}/avatar yes UserController@uploadAvatar
DELETE /api/admin/users/{id}/avatar yes UserController@deleteAvatar
GET /api/admin/users/{id}/settings yes UserSettingsController@listUserSettings
PATCH /api/admin/users/{id}/settings yes UserSettingsController@patchUserSettings
PUT /api/admin/users/{id}/settings yes UserSettingsController@putUserSettings
GET /api/admin/users/{id}/interests yes UserInterestsController@listUserInterests
PUT /api/admin/users/{id}/interests yes UserInterestsController@updateUserInterests
POST /api/admin/users/{id}/interests yes UserInterestsController@addUserInterest
DELETE /api/admin/users/{id}/interests/{interest_id} yes UserInterestsController@deleteUserInterest
GET /api/admin/user-groups yes UserGroupsController@listGroups
GET /api/admin/user-groups/tree yes UserGroupsController@listGroupsTree
GET /api/admin/user-groups/users yes UserGroupsController@listWithUsers
POST /api/admin/user-groups yes UserGroupsController@createGroup
GET /api/admin/user-groups/{id} yes UserGroupsController@getGroup
PUT /api/admin/user-groups/{id} yes UserGroupsController@updateGroup
PATCH /api/admin/user-groups/{id} yes UserGroupsController@updateGroup
DELETE /api/admin/user-groups/{id} yes UserGroupsController@deleteGroup
POST /api/admin/user-groups/{id}/members yes UserGroupsController@addMember
DELETE /api/admin/user-groups/{id}/members/{user_id} yes UserGroupsController@removeMember

Package: bookmarks_notes

Method Path Auth Action
GET /api/admin/bookmarks yes AdminBookmarkController@findAll
POST /api/admin/bookmarks yes AdminBookmarkController@create
PATCH /api/admin/bookmarks/{id} yes AdminBookmarkController@update
DELETE /api/admin/bookmarks/{id} yes AdminBookmarkController@delete
POST /api/bookmarks yes BookmarkController@create
PATCH /api/bookmarks/{id} yes BookmarkController@update
DELETE /api/bookmarks/{id} yes BookmarkController@delete
GET /api/bookmarks yes BookmarkController@findAll

Package: bulk-notifications

Method Path Auth Action
POST /api/notifications/tokens yes DeviceTokenController@create
GET /api/admin/bulk-notifications yes BulkNotificationController@list
POST /api/admin/bulk-notifications/send yes BulkNotificationController@send
POST /api/admin/bulk-notifications/send/multicast yes BulkNotificationController@sendMulticast

Package: cart

Method Path Auth Action
GET /api/admin/orders yes OrderAdminApiController@index
GET /api/admin/orders/export yes OrderAdminApiController@export
GET /api/admin/orders/{id} yes OrderAdminApiController@read
GET /api/admin/products yes ProductAdminApiController@index
POST /api/admin/products yes ProductAdminApiController@create
GET /api/admin/products/{id} yes ProductAdminApiController@read
PUT /api/admin/products/{id} yes ProductAdminApiController@update
DELETE /api/admin/products/{id} yes ProductAdminApiController@delete
POST /api/admin/products/{id}/trigger-event-manually/{idTemplate} yes ProductAdminApiController@triggerEventManuallyForUsers
POST /api/admin/products/{id}/attach yes ProductAdminApiController@attach
POST /api/admin/products/{id}/detach yes ProductAdminApiController@detach
GET /api/admin/productables yes ProductableAdminApiController@index
GET /api/admin/productables/registered yes ProductableAdminApiController@registered
GET /api/admin/productables/product yes ProductableAdminApiController@product
POST /api/admin/productables/attach yes ProductableAdminApiController@attach
POST /api/admin/productables/detach yes ProductableAdminApiController@detach
GET /api/cart yes CartApiController@index
POST /api/cart/products yes CartApiController@setProductQuantity
POST /api/cart/missing yes CartApiController@addMissingProducts
DELETE /api/cart/products/{id} yes CartApiController@remove
POST /api/cart/add yes CartApiController@addProductable
POST /api/cart/pay yes PaymentApiController@pay
POST /api/product/{id}/pay yes PaymentApiController@payProduct
GET /api/products/my yes ProductApiController@indexMy
GET /api/products/{id} ProductApiController@read
GET /api/products ProductApiController@index
POST /api/products/cancel/{id} yes ProductApiController@cancel
POST /api/productables/attach yes ProductablesApiController@attach
GET /api/orders yes OrderApiController@index
GET /api/orders/{id} yes OrderApiController@read

Package: categories

Method Path Auth Action
GET /api/categories CategoryAPIController@index
GET /api/categories/tree CategoryAPIController@tree
GET /api/admin/categories yes CategoryAPIController@index
POST /api/admin/categories/sort yes CategoryAPIController@sort
GET /api/admin/categories/tree yes CategoryAPIController@tree
GET /api/admin/categories/{category} yes CategoryAPIController@show
POST /api/admin/categories yes CategoryAPIController@create
DELETE /api/admin/categories/{category} yes CategoryAPIController@delete
POST /api/admin/categories/{category} yes CategoryAPIController@update

Package: cmi5

Method Path Auth Action
GET /api/cmi5/player/{auId} yes Cmi5Controller@read
GET /api/admin/cmi5 yes Cmi5Controller@list
POST /api/admin/cmi5 yes Cmi5Controller@upload
DELETE /api/admin/cmi5/{id} yes Cmi5Controller@delete

Package: consultation-access

Method Path Auth Action
GET /api/admin/consultation-access-enquiries yes ConsultationAccessEnquiryAdminApiController@index
POST /api/admin/consultation-access-enquiries/approve/{proposedTermId} yes ConsultationAccessEnquiryAdminApiController@approve
POST /api/admin/consultation-access-enquiries/disapprove/{id} yes ConsultationAccessEnquiryAdminApiController@disapprove
GET /api/consultation-access-enquiries yes ConsultationAccessEnquiryApiController@index
POST /api/consultation-access-enquiries yes ConsultationAccessEnquiryApiController@create
GET /api/consultation-access-enquiries/{id} yes ConsultationAccessEnquiryApiController@read
GET /api/consultation-access-enquiries/{id}/join yes ConsultationAccessEnquiryApiController@join
PATCH /api/consultation-access-enquiries/{id} yes ConsultationAccessEnquiryApiController@update
DELETE /api/consultation-access-enquiries/{id} yes ConsultationAccessEnquiryApiController@delete

Package: consultations

Method Path Auth Action
POST /api/admin/consultations/{id} yes ConsultationController@update
GET /api/admin/consultations yes ConsultationController@index
GET /api/admin/consultations/create yes ConsultationController@create
POST /api/admin/consultations yes ConsultationController@store
GET /api/admin/consultations/{id} yes ConsultationController@show
GET /api/admin/consultations/{id}/edit yes ConsultationController@edit
PUT|PATCH /api/admin/consultations/{id} yes ConsultationController@update
DELETE /api/admin/consultations/{id} yes ConsultationController@destroy
GET /api/admin/consultations/{id}/schedule yes ConsultationController@schedule
POST /api/admin/consultations/change-term/{consultationTermId} yes ConsultationController@changeTerm
GET /api/admin/consultations/users/assignable yes ConsultationController@assignableUsers
GET /api/consultations/me yes ConsultationAPIController@forCurrentUser
GET /api/consultations/my-schedule yes ConsultationAPIController@schedule
POST /api/consultations/report-term/{consultationTermId} yes ConsultationAPIController@reportTerm
GET /api/consultations/proposed-terms/{consultationTermId} yes ConsultationAPIController@proposedTerms
GET /api/consultations/approve-term/{consultationTermId} yes ConsultationAPIController@approveTerm
GET /api/consultations/reject-term/{consultationTermId} yes ConsultationAPIController@rejectTerm
GET /api/consultations/generate-jitsi/{consultationTermId} yes ConsultationAPIController@generateJitsi
POST /api/consultations/change-term/{consultationTermId} yes ConsultationController@changeTerm
POST /api/consultations/finish-term/{consultationTermId} yes ConsultationAPIController@finishTerm
GET /api/consultations ConsultationAPIController@index
GET /api/consultations/{id} ConsultationAPIController@show

Package: core

Method Path Auth Action
GET /api/core/packages yes CoreController@packages
GET /api/core/health-check HealthCheckController@healthCheck
POST /api/csp-report CspReportController@store
GET /api/admin/csp-reports yes CspReportController@index

Package: course-access

Method Path Auth Action
GET /api/admin/courses/{id}/access yes CourseAccessAPIController@list
POST /api/admin/courses/{id}/access/add yes CourseAccessAPIController@add
POST /api/admin/courses/{id}/access/remove yes CourseAccessAPIController@remove
POST /api/admin/courses/{id}/access/set yes CourseAccessAPIController@set
GET /api/admin/course-access-enquiries yes CourseAccessEnquiryApiAdminController@list
DELETE /api/admin/course-access-enquiries/{id} yes CourseAccessEnquiryApiAdminController@delete
POST /api/admin/course-access-enquiries/approve/{id} yes CourseAccessEnquiryApiAdminController@approve
GET /api/course-access-enquiries yes CourseAccessEnquiryApiController@list
POST /api/course-access-enquiries yes CourseAccessEnquiryApiController@create
DELETE /api/course-access-enquiries/{id} yes CourseAccessEnquiryApiController@delete
GET /api/courses/my yes CourseAccessApiStudentController@getMyCourseIds

Package: course-builder

Method Path Auth Action
GET /api/admin/course-builder/sessions yes CourseBuilderController@index
POST /api/admin/course-builder/sessions yes CourseBuilderController@store
GET /api/admin/course-builder/sessions/{session} yes CourseBuilderController@show
DELETE /api/admin/course-builder/sessions/{session} yes CourseBuilderController@destroy
POST /api/admin/course-builder/sessions/{session}/sources yes CourseBuilderController@upload
GET /api/admin/course-builder/sessions/{session}/sources/{source} yes CourseBuilderController@source
GET /api/admin/course-builder/sessions/{session}/citations yes CourseBuilderController@citations
GET /api/admin/course-builder/fragments/{fragment} yes CourseBuilderController@fragment
GET /api/admin/course-builder/sessions/{session}/brief yes CourseBuilderController@brief
PUT /api/admin/course-builder/sessions/{session}/brief yes CourseBuilderController@updateBrief
POST /api/admin/course-builder/sessions/{session}/runs yes CourseBuilderController@run
GET /api/admin/course-builder/sessions/{session}/events yes EventStreamController@stream
GET /api/admin/course-builder/runs/{run} yes CourseBuilderController@runStatus
POST /api/admin/course-builder/runs/{run}/cancel yes CourseBuilderController@cancel
POST /api/admin/course-builder/runs/{run}/steps/{step}/retry yes CourseBuilderController@retryStep
GET /api/admin/course-builder/sessions/{session}/versions yes CourseBuilderController@versions
GET /api/admin/course-builder/versions/{version} yes CourseBuilderController@version
GET /api/admin/course-builder/versions/{version}/diff yes CourseBuilderController@diff
POST /api/admin/course-builder/versions/{version}/approve yes CourseBuilderController@approve
POST /api/admin/course-builder/versions/{version}/reject yes CourseBuilderController@reject
POST /api/admin/course-builder/versions/{version}/restore yes CourseBuilderController@restore
POST /api/admin/course-builder/sessions/{session}/undo yes CourseBuilderController@undo
POST /api/admin/course-builder/sessions/{session}/redo yes CourseBuilderController@redo
POST /api/admin/course-builder/sessions/{session}/outline yes CourseBuilderController@editOutline
POST /api/admin/course-builder/sessions/{session}/elements/{element}/variants yes CourseBuilderController@variants
POST /api/admin/course-builder/sessions/{session}/apply yes CourseBuilderController@apply
POST /api/admin/course-builder/sessions/{session}/new-site yes CourseBuilderController@newSite
GET /api/admin/course-builder/sessions/{session}/publish-check yes CourseBuilderController@publishCheck
POST /api/admin/course-builder/sessions/{session}/publish yes CourseBuilderController@publish
GET /api/admin/course-builder/sessions/{session}/usage yes CourseBuilderController@usage

Package: courses

Method Path Auth Action
GET /api/admin/courses/{course}/program yes CourseAPIController@program
POST /api/admin/courses/sort yes CourseAPIController@sort
POST /api/admin/courses/{course} yes CourseAPIController@update
GET /api/admin/courses yes CourseAPIController@index
GET /api/admin/courses/create yes CourseAPIController@create
POST /api/admin/courses yes CourseAPIController@store
GET /api/admin/courses/{id} yes CourseAPIController@show
GET /api/admin/courses/{id}/edit yes CourseAPIController@edit
PUT|PATCH /api/admin/courses/{id} yes CourseAPIController@update
DELETE /api/admin/courses/{id} yes CourseAPIController@destroy
GET /api/admin/lessons yes LessonAPIController@index
GET /api/admin/lessons/create yes LessonAPIController@create
POST /api/admin/lessons yes LessonAPIController@store
GET /api/admin/lessons/{id} yes LessonAPIController@show
GET /api/admin/lessons/{id}/edit yes LessonAPIController@edit
PUT|PATCH /api/admin/lessons/{id} yes LessonAPIController@update
DELETE /api/admin/lessons/{id} yes LessonAPIController@destroy
POST /api/admin/lessons/{id}/clone yes LessonAPIController@clone
GET /api/admin/topics/types yes TopicAPIController@classes
GET /api/admin/topics yes TopicAPIController@index
GET /api/admin/topics/create yes TopicAPIController@create
POST /api/admin/topics yes TopicAPIController@store
GET /api/admin/topics/{id} yes TopicAPIController@show
GET /api/admin/topics/{id}/edit yes TopicAPIController@edit
PUT|PATCH /api/admin/topics/{id} yes TopicAPIController@update
DELETE /api/admin/topics/{id} yes TopicAPIController@destroy
POST /api/admin/topics/{topic} yes TopicAPIController@update
POST /api/admin/topics/{id}/clone yes TopicAPIController@clone
GET /api/admin/topics/{topic_id}/resources yes TopicResourcesAPIController@list
POST /api/admin/topics/{topic_id}/resources yes TopicResourcesAPIController@upload
PATCH /api/admin/topics/{topic_id}/resources/{resource_id} yes TopicResourcesAPIController@rename
DELETE /api/admin/topics/{topic_id}/resources/{resource_id} yes TopicResourcesAPIController@delete
GET /api/admin/courses/search/tags yes CourseAPIController@searchByTag
GET /api/admin/courses/search/{category_id} yes CourseAPIController@category
GET /api/admin/courses/users/assignable yes CourseAuthorsAPIController@assignableUsers
POST /api/admin/tutors/{id}/assign/{course} yes CourseAuthorsAPIController@assign
POST /api/admin/tutors/{id}/unassign/{course} yes CourseAuthorsAPIController@unassign
GET /api/courses/{course}/program CourseAPIController@program
GET /api/courses/{course}/preview/{topic_id} CourseAPIController@preview
GET /api/courses/{course}/scorm yes CourseAPIController@scorm
GET /api/courses/progress/paginated yes CourseProgressAPIController@indexPaginated
GET /api/courses/progress yes CourseProgressAPIController@index
GET /api/courses/progress/{course_id} yes CourseProgressAPIController@show
PATCH /api/courses/progress/{course_id} yes CourseProgressAPIController@store
PUT /api/courses/progress/{topic_id}/ping yes CourseProgressAPIController@ping
POST /api/courses/progress/{topic_id}/h5p yes CourseProgressAPIController@h5p
GET /api/courses/authored yes CourseAPIController@authoredCourses
GET /api/courses CourseAPIController@index
GET /api/courses/{course} CourseAPIController@show
GET /api/tutors CourseAuthorsAPIController@index
GET /api/tutors/{id} CourseAuthorsAPIController@show
GET /api/tags/uniqueTags CourseAPIController@uniqueTags

Package: courses-import-export

Method Path Auth Action
GET /api/admin/courses/{course}/clone yes CourseExportImportAPIController@clone
GET /api/admin/courses/{course}/export yes CourseExportImportAPIController@export
POST /api/admin/courses/zip/import yes CourseExportImportAPIController@import

Package: csv-users

Method Path Auth Action
GET /api/admin/csv/users yes CsvUserAPIController@export
POST /api/admin/csv/users yes CsvUserAPIController@import
GET /api/admin/csv/groups/{group} yes CsvGroupAPIController@export
POST /api/admin/csv/groups yes CsvGroupAPIController@import

Package: demo

Method Path Auth Action
GET /api/demo DemoApiController@show
POST /api/demo/login DemoApiController@login

Package: dictionaries

Method Path Auth Action
GET /api/admin/dictionaries yes DictionaryAdminApiController@index
POST /api/admin/dictionaries yes DictionaryAdminApiController@store
PUT /api/admin/dictionaries/{id} yes DictionaryAdminApiController@update
GET /api/admin/dictionaries/{id} yes DictionaryAdminApiController@show
DELETE /api/admin/dictionaries/{id} yes DictionaryAdminApiController@delete
GET /api/admin/dictionaries/{id}/access yes DictionaryAccessAdminApiController@index
POST /api/admin/dictionaries/{id}/access yes DictionaryAccessAdminApiController@set
GET /api/admin/dictionary-words yes DictionaryWordAdminApiController@index
POST /api/admin/dictionary-words yes DictionaryWordAdminApiController@store
POST /api/admin/dictionary-words/import yes DictionaryWordAdminApiController@import
PUT /api/admin/dictionary-words/{id} yes DictionaryWordAdminApiController@update
GET /api/admin/dictionary-words/{id} yes DictionaryWordAdminApiController@show
DELETE /api/admin/dictionary-words/{id} yes DictionaryWordAdminApiController@delete
GET /api/dictionaries/access yes DictionaryAccessApiController@index
GET /api/dictionaries/{slug}/words DictionaryWordApiController@index
GET /api/dictionaries/{slug}/words/categories DictionaryWordApiController@categories
GET /api/dictionaries/{slug}/words/{id} DictionaryWordApiController@show

Package: example-plugin

Method Path Auth Action
GET /api/example-plugin/hello HelloApiController@hello
POST /api/admin/example-plugin/greetings yes GreetingAdminApiController@send

Package: files

Method Path Auth Action
GET /api/admin/file/list yes FileApiController@list
GET /api/admin/file/find yes FileApiController@findByName
POST /api/admin/file/upload yes FileApiController@upload
POST /api/admin/file/move yes FileApiController@move
DELETE /api/admin/file/delete yes FileApiController@delete

Package: h5p

Method Path Auth Action
GET /api/admin/h5p/contents yes H5PContentAdminApiController@index
DELETE /api/admin/h5p/unused yes H5PContentAdminApiController@deleteUnused

Package: images

Method Path Auth Action
GET /api/images/img ImagesController@image
POST /api/images/img ImagesController@images

Package: interactive

Method Path Auth Action
GET /api/admin/interactive yes InteractivePackageController@index
POST /api/admin/interactive yes InteractivePackageController@store
GET /api/admin/interactive/{id} yes InteractivePackageController@show
PUT /api/admin/interactive/{id} yes InteractivePackageController@update
DELETE /api/admin/interactive/{id} yes InteractivePackageController@destroy
GET /api/admin/interactive/{id}/versions yes InteractivePackageController@versions
POST /api/admin/interactive/{id}/versions yes InteractivePackageController@addVersion
GET /api/admin/interactive/{id}/preview yes InteractivePackageController@preview
POST /api/interactive/launches/{topic} yes InteractiveLearnerController@launch
POST /api/interactive/topics/{topic}/events yes InteractiveLearnerController@events
GET /api/interactive/showcase InteractiveLearnerController@showcase

Package: invoices

Method Path Auth Action
GET /api/order-invoices/{id} InvoicesApiController@read

Package: jitsi

Method Path Auth Action
POST /api/jitsi/recorded-video JitsiApiController@recordedVideo

Package: liascript

Method Path Auth Action
GET /api/admin/liascript yes LiaScriptController@index
POST /api/admin/liascript yes LiaScriptController@store
GET /api/admin/liascript/{id} yes LiaScriptController@show
PUT /api/admin/liascript/{id} yes LiaScriptController@update
DELETE /api/admin/liascript/{id} yes LiaScriptController@destroy
GET /api/admin/liascript/{id}/source yes LiaScriptController@source
GET /api/admin/liascript/{id}/versions yes LiaScriptController@versions
POST /api/admin/liascript/{id}/versions yes LiaScriptController@addVersion
POST /api/admin/liascript/{id}/versions/{version}/restore yes LiaScriptController@restore
POST /api/admin/liascript/{id}/preview yes LiaScriptController@preview
POST /api/liascript/launches/{topic} yes LiaScriptLearnerController@launch
POST /api/liascript/progress/{topic} LiaScriptLearnerController@progress

Package: living-course

Method Path Auth Action
GET /api/admin/living-course/sessions/{session}/sources yes SourcesController@index
GET /api/admin/living-course/sources/{source}/revisions yes SourcesController@revisions
POST /api/admin/living-course/sources/{source}/revisions yes SourcesController@upload
GET /api/admin/living-course/revisions/{revision} yes SourcesController@revision
GET /api/admin/living-course/sessions/{session}/staleness yes StalenessController@show
GET /api/admin/living-course/sessions/{session}/audit yes AuditController@index
GET /api/admin/living-course/sessions/{session}/audit/export yes AuditController@export
GET /api/admin/living-course/sessions/{session}/audit/verify yes AuditController@verify
GET /api/admin/living-course/audit/export yes AuditController@exportAll
GET /api/admin/living-course/audit/verify yes AuditController@verifyAll
GET /api/admin/living-course/sessions/{session}/proposals yes ProposalsController@index
GET /api/admin/living-course/proposals/{proposal} yes ProposalsController@show
POST /api/admin/living-course/proposals/{proposal}/analyse yes ProposalsController@analyse
POST /api/admin/living-course/proposals/{proposal}/items/{item}/accept yes ProposalsController@accept
POST /api/admin/living-course/proposals/{proposal}/items/{item}/reject yes ProposalsController@reject
POST /api/admin/living-course/proposals/{proposal}/items/{item}/reset yes ProposalsController@reset
POST /api/admin/living-course/proposals/{proposal}/items/{item}/regenerate yes ProposalsController@regenerate
POST /api/admin/living-course/proposals/{proposal}/reanalyse yes ProposalsController@reanalyse
PUT /api/admin/living-course/proposals/{proposal}/learner-note yes ProposalsController@learnerNote
GET /api/admin/living-course/connectors yes ConnectController@connectors
POST /api/admin/living-course/sessions/{session}/sources/connect yes ConnectController@connect
POST /api/admin/living-course/connections/{connection}/check yes ConnectController@check
POST /api/admin/living-course/connections/{connection}/webhook-secret yes ConnectController@rotateSecret
PUT /api/admin/living-course/connections/{connection} yes ConnectionsController@update
DELETE /api/admin/living-course/connections/{connection} yes ConnectionsController@destroy
POST /api/admin/living-course/proposals/{proposal}/apply yes ProposalsController@apply
POST /api/admin/living-course/proposals/{proposal}/accept-all yes ProposalsController@acceptAll
POST /api/admin/living-course/proposals/{proposal}/reject yes ProposalsController@rejectAll
GET /api/admin/living-course/revisions/{revision}/changes yes SourcesController@changes
GET /api/living-course/courses/{course}/notices yes NoticesController@index
POST /api/living-course/notices/{notice}/dismiss yes NoticesController@dismiss
GET /api/living-course/courses/{course}/freshness yes NoticesController@freshness
POST /api/living-course/webhooks/{webhookId} WebhookController@receive

Package: lrs

Method Path Auth Action
POST /api/cmi5/fetch LrsController@fetch
GET /api/cmi5/courses/{id} yes LrsController@launchParams
GET /api/admin/cmi5/statements yes StatementController@statements
GET /trax/api/{source}/xapi/std/about XapiAboutController@get
GET /trax/api/{source}/xapi/std/statements XapiStatementController@get
POST /trax/api/{source}/xapi/std/statements XapiStatementController@post
PUT /trax/api/{source}/xapi/std/statements XapiStatementController@put
GET /trax/api/{source}/xapi/std XapiDocumentController@get
PUT /trax/api/{source}/xapi/std XapiDocumentController@put
POST /trax/api/{source}/xapi/std XapiDocumentController@post
DELETE /trax/api/{source}/xapi/std XapiDocumentController@delete

Package: lti

Method Path Auth Action
GET /api/lti/jwks JwksController
GET /.well-known/jwks.json JwksController
GET /api/lti/frame-origins FrameOriginsController
GET /api/admin/lti/endpoints yes LtiAdminController@endpoints
GET /api/admin/lti/tools yes LtiAdminController@tools
POST /api/admin/lti/tools yes LtiAdminController@storeTool
GET /api/admin/lti/tools/{tool} yes LtiAdminController@showTool
PUT /api/admin/lti/tools/{tool} yes LtiAdminController@updateTool
DELETE /api/admin/lti/tools/{tool} yes LtiAdminController@destroyTool
POST /api/admin/lti/tools/{tool}/deep-link yes LtiAdminController@deepLink
GET /api/admin/lti/platforms yes LtiAdminController@platforms
POST /api/admin/lti/platforms yes LtiAdminController@storePlatform
GET /api/admin/lti/platforms/{platform} yes LtiAdminController@showPlatform
PUT /api/admin/lti/platforms/{platform} yes LtiAdminController@updatePlatform
DELETE /api/admin/lti/platforms/{platform} yes LtiAdminController@destroyPlatform
POST /api/lti/launches/{topic} yes PlatformController@launch
GET|POST /api/lti/platform/authorize PlatformController@oidcAuthorize
POST /api/lti/platform/token PlatformController@token
POST /api/lti/platform/deep-links PlatformController@deepLinks
GET /api/lti/platform/ags/{course}/lineitems AgsController@index
POST /api/lti/platform/ags/{course}/lineitems AgsController@store
GET /api/lti/platform/ags/{course}/lineitems/{lineItem} AgsController@show
PUT /api/lti/platform/ags/{course}/lineitems/{lineItem} AgsController@update
DELETE /api/lti/platform/ags/{course}/lineitems/{lineItem} AgsController@destroy
POST /api/lti/platform/ags/{course}/lineitems/{lineItem}/scores AgsController@scores
GET /api/lti/platform/ags/{course}/lineitems/{lineItem}/results AgsController@results
GET /api/lti/platform/nrps/{course} NrpsController@memberships
GET|POST /api/lti/tool/login ToolController@login
POST /api/lti/tool/launch ToolController@launch
POST /api/lti/tool/launch/verify ToolController@verify
POST /api/lti/tool/deep-link ToolController@deepLink
POST /api/lti/tool/exchange ToolController@exchange

Package: mattermost

Method Path Auth Action
GET /api/mattermost/me yes MattermostController@me
GET /api/mattermost/reset_password yes MattermostController@resetPassword
GET /api/mattermost/generate_credentials yes MattermostController@generateCredentials

Package: model-fields

Method Path Auth Action
GET /api/model-fields ModelFieldsApiController@list
GET /api/admin/model-fields yes ModelFieldsAdminApiController@list
POST /api/admin/model-fields yes ModelFieldsAdminApiController@createOrUpdate
DELETE /api/admin/model-fields yes ModelFieldsAdminApiController@delete

Package: notifications

Method Path Auth Action
GET /api/notifications NotificationsController@user
GET /api/notifications/events NotificationsController@events
POST /api/notifications/{notification}/read NotificationsController@read
POST /api/notifications/read-all NotificationsController@readAll
GET /api/admin/notifications/events yes NotificationsController@events
POST /api/admin/notifications/{notification}/read yes NotificationsController@read
GET /api/admin/notifications yes NotificationsController@user
GET /api/admin/notifications/all yes NotificationsController@index
GET /api/admin/notifications/{user} yes NotificationsController@user
POST /api/admin/notifications/read-all yes NotificationsController@readAll

Package: pages

Method Path Auth Action
GET /api/admin/pages yes PagesAdminApiController@list
GET /api/admin/pages/{id} yes PagesAdminApiController@read
POST /api/admin/pages yes PagesAdminApiController@create
DELETE /api/admin/pages/{id} yes PagesAdminApiController@delete
PATCH /api/admin/pages/{id} yes PagesAdminApiController@update
GET /api/pages PagesApiController@list
GET /api/pages/{slug} PagesApiController@read

Package: payments

Method Path Auth Action
GET /api/payments-gateways GatewayController@index
ANY /api/payments-gateways/callback/{payment} GatewayController@callback
POST /api/payments-gateways/webhook/stripe GatewayController@stripeWebhook
ANY /api/payments-gateways/callback/refund/{payment} GatewayController@callbackRefund
GET /api/admin/payments/export yes PaymentsAdminController@export
GET /api/admin/payments/{payment} yes PaymentsAdminController@show
GET /api/admin/payments yes PaymentsAdminController@search
GET /api/payments/{payment} PaymentsController@show
GET /api/payments PaymentsController@search

Package: pencil-spaces

Method Path Auth Action
POST /api/pencil-spaces/login yes PencilSpaceApiController@login

Package: permissions

Method Path Auth Action
GET /api/admin/roles yes PermissionsAdminApiController@index
GET /api/admin/roles/{name} yes PermissionsAdminApiController@show
POST /api/admin/roles yes PermissionsAdminApiController@create
DELETE /api/admin/roles/{name} yes PermissionsAdminApiController@delete
PATCH /api/admin/roles/{name} yes PermissionsAdminApiController@update

Package: questionnaire

Method Path Auth Action
GET /api/admin/questionnaire yes QuestionnaireAdminApiController@list
DELETE /api/admin/questionnaire/unassign/{model_type_title}/{model_id}/{id}/{target_group?} yes QuestionnaireAdminApiController@unassign
PATCH /api/admin/questionnaire/assign/{model_type_title}/{model_id}/{id}/{target_group?} yes QuestionnaireAdminApiController@assign
GET /api/admin/questionnaire/{id} yes QuestionnaireAdminApiController@read
POST /api/admin/questionnaire yes QuestionnaireAdminApiController@create
DELETE /api/admin/questionnaire/{id} yes QuestionnaireAdminApiController@delete
PATCH /api/admin/questionnaire/{id} yes QuestionnaireAdminApiController@update
GET /api/admin/questionnaire/{model_type_title}/{model_id}/{id}/export yes QuestionnaireAdminApiController@exportReport
GET /api/admin/questionnaire/report/{id} yes QuestionnaireAdminApiController@report
GET /api/admin/questionnaire/report/{id}/{model_type_id} yes QuestionnaireAdminApiController@report
GET /api/admin/questionnaire/report/{id}/{model_type_id}/{model_id} yes QuestionnaireAdminApiController@report
GET /api/admin/questionnaire-models yes QuestionnaireAdminApiController@getModelsType
POST /api/admin/question-answers/{id}/change-visibility yes QuestionAnswerAdminApiController@changeAnswerVisibility
GET /api/admin/question-answers/{id} yes QuestionAnswerAdminApiController@list
GET /api/admin/question yes QuestionAdminApiController@list
GET /api/admin/question/{id} yes QuestionAdminApiController@read
POST /api/admin/question yes QuestionAdminApiController@create
DELETE /api/admin/question/{id} yes QuestionAdminApiController@delete
PATCH /api/admin/question/{id} yes QuestionAdminApiController@update
GET /api/questionnaire/stars/{model_type_title}/{model_id} QuestionnaireApiController@stars
GET /api/questionnaire/{model_type_title}/{model_id} QuestionnaireApiController@list
GET /api/questionnaire/{model_type_title}/{model_id}/{id} QuestionnaireApiController@read
POST /api/questionnaire/{model_type_title}/{model_id}/{id} QuestionnaireApiController@answer
GET /api/questionnaire/{model_type_title}/{model_id}/questions/{question_id}/answers QuestionnaireApiController@questionModelAnswers
GET /api/questionnaire/{model_type_title}/{model_id}/questions/{question_id}/stars QuestionnaireApiController@modelStars

Package: reports

Method Path Auth Action
GET /api/admin/reports/metrics yes ReportsController@metrics
GET /api/admin/reports/report yes ReportsController@report
GET /api/admin/reports/available-for-user yes ReportsController@availableForUser
GET /api/admin/stats/available yes StatsController@available
GET /api/admin/stats/course/{course_id} yes StatsController@course
GET /api/admin/stats/course/{course_id}/export yes StatsController@courseExport
POST /api/admin/stats/course/{course_id}/import yes StatsController@courseImport
GET /api/admin/stats/cart yes StatsController@cart
GET /api/admin/stats/date-range yes StatsController@dateRange
GET /api/admin/stats/topic/{topic_id} yes StatsController@topic
GET /api/admin/stats/topic/{topic_id}/export yes StatsController@topicExport

Package: scorm

Method Path Auth Action
POST /api/admin/scorm/upload yes ScormController@upload
POST /api/admin/scorm/parse yes ScormController@parse
DELETE /api/admin/scorm/{scormModel} yes ScormController@delete
GET /api/admin/scorm yes ScormController@index
GET /api/admin/scorm/scos yes ScormController@getScos
GET /api/scorm/assets/scorm-again.min.js ScormContentController@scormAgain
POST /api/scorm/launch/{uuid} yes ScormContentController@launch
GET /api/scorm/content/{uuid} ScormContentController@show
POST /api/scorm/content/{uuid}/track ScormContentController@track
GET /api/scorm/play/{uuid} ScormController@showView
GET /api/scorm/service-worker ScormController@showViewServiceWorker
GET /api/scorm/show/{uuid} ScormController@showJson
GET /api/scorm/zip/{uuid} ScormController@createOrGetZip
POST /api/scorm/track/{uuid} yes ScormTrackController@set
GET /api/scorm/track/{scoId}/{key} yes ScormTrackController@get
GET / ScormFileController@show

Package: settings

Method Path Auth Action
GET /api/settings SettingsController@index
GET /api/settings/{group}/{key} SettingsController@show
GET /api/config ConfigController@list
GET /api/admin/settings/groups yes AdminSettingsController@groups
GET /api/admin/settings yes AdminSettingsController@index
GET /api/admin/settings/create yes AdminSettingsController@create
POST /api/admin/settings yes AdminSettingsController@store
GET /api/admin/settings/{id} yes AdminSettingsController@show
GET /api/admin/settings/{id}/edit yes AdminSettingsController@edit
PUT|PATCH /api/admin/settings/{id} yes AdminSettingsController@update
DELETE /api/admin/settings/{id} yes AdminSettingsController@destroy
GET /api/admin/config yes AdminConfigController@list
POST /api/admin/config yes AdminConfigController@update

Package: stationary-events

Method Path Auth Action
GET /api/admin/stationary-events yes StationaryEventAdminApiController@index
POST /api/admin/stationary-events yes StationaryEventAdminApiController@store
PUT /api/admin/stationary-events/{id} yes StationaryEventAdminApiController@update
GET /api/admin/stationary-events/{id} yes StationaryEventAdminApiController@show
DELETE /api/admin/stationary-events/{id} yes StationaryEventAdminApiController@delete
GET /api/stationary-events/me yes StationaryEventApiController@forCurrentUser
GET /api/stationary-events StationaryEventApiController@index
GET /api/stationary-events/{id} StationaryEventApiController@show

Package: tags

Method Path Auth Action
GET /api/tags TagsAPIController@index
GET /api/tags/unique TagsAPIController@unique
POST /api/admin/tags yes TagsAPIController@create
DELETE /api/admin/tags yes TagsAPIController@destroy
GET /api/admin/tags/unique yes TagsAPIController@uniqueAdmin
GET /api/admin/tags/{tag} yes TagsAPIController@show

Package: tasks

Method Path Auth Action
POST /api/admin/tasks yes AdminTaskController@create
PATCH /api/admin/tasks/{id} yes AdminTaskController@update
DELETE /api/admin/tasks/{id} yes AdminTaskController@delete
POST /api/admin/tasks/complete/{id} yes AdminTaskController@complete
POST /api/admin/tasks/incomplete/{id} yes AdminTaskController@incomplete
GET /api/admin/tasks yes AdminTaskController@findAll
GET /api/admin/tasks/{id} yes AdminTaskController@find
POST /api/admin/tasks/notes yes AdminTaskNoteController@create
PATCH /api/admin/tasks/notes/{id} yes AdminTaskNoteController@update
DELETE /api/admin/tasks/notes/{id} yes AdminTaskNoteController@delete
POST /api/tasks yes TaskController@create
PATCH /api/tasks/{id} yes TaskController@update
DELETE /api/tasks/{id} yes TaskController@delete
POST /api/tasks/complete/{id} yes TaskController@complete
POST /api/tasks/incomplete/{id} yes TaskController@incomplete
GET /api/tasks yes TaskController@findAll
GET /api/tasks/{id} yes TaskController@find
POST /api/tasks/notes yes TaskNoteController@create
PATCH /api/tasks/notes/{id} yes TaskNoteController@update
DELETE /api/tasks/notes/{id} yes TaskNoteController@delete

Package: templates

Method Path Auth Action
GET /api/admin/templates yes TemplatesAdminApiController@list
POST /api/admin/templates yes TemplatesAdminApiController@create
GET /api/admin/templates/events yes TemplatesAdminApiController@events
GET /api/admin/templates/variables yes TemplatesAdminApiController@variables
GET /api/admin/templates/assignable yes TemplatesAdminApiController@assignable
GET /api/admin/templates/assigned yes TemplatesAdminApiController@assigned
GET /api/admin/templates/{id} yes TemplatesAdminApiController@read
GET /api/admin/templates/{id}/preview yes TemplatesAdminApiController@preview
PATCH /api/admin/templates/{id} yes TemplatesAdminApiController@update
DELETE /api/admin/templates/{id} yes TemplatesAdminApiController@delete
POST /api/admin/templates/{id}/assign yes TemplatesAdminApiController@assign
POST /api/admin/templates/{id}/unassign yes TemplatesAdminApiController@unassign
POST /api/admin/events/trigger-manually/{id} yes EventAdminApiController@triggerManually

Package: templates-pdf

Method Path Auth Action
GET /api/pdfs/fonts FabricPdfController@fonts
GET /api/pdfs/fonts/{file} FabricPdfController@font
GET /api/pdfs FabricPdfController@index
GET /api/pdfs/generate/{id} FabricPdfController@generate
GET /api/pdfs/{id} FabricPdfController@show
GET /api/admin/pdfs yes FabricPdfController@admin
POST /api/admin/pdfs/preview yes FabricPdfController@preview

Package: tenancy

Method Path Auth Action
GET /api/platform/tenants yes PlatformTenantController@index
POST /api/platform/tenants yes PlatformTenantController@store
GET /api/platform/tenants/{slug} yes PlatformTenantController@show
PATCH /api/platform/tenants/{slug}/env yes PlatformTenantController@env
DELETE /api/platform/tenants/{slug} yes PlatformTenantController@destroy
GET /api/platform/operations yes PlatformOperationController@index
GET /api/platform/operations/{id} yes PlatformOperationController@show

Package: topic-type-gift

Method Path Auth Action
POST /api/admin/gift-questions yes GiftQuestionApiAdminController@create
DELETE /api/admin/gift-questions/{id} yes GiftQuestionApiAdminController@delete
PUT /api/admin/gift-questions/{id} yes GiftQuestionApiAdminController@update
POST /api/admin/gift-questions/sort yes GiftQuestionApiAdminController@sort
GET /api/admin/gift-questions/export yes GiftQuestionApiAdminController@export
POST /api/admin/gift-questions/import yes GiftQuestionApiAdminController@import
GET /api/admin/quiz-attempts yes QuizAttemptApiAdminController@index
GET /api/admin/quiz-attempts/export yes QuizAttemptApiAdminController@export
GET /api/admin/quiz-attempts/{id} yes QuizAttemptApiAdminController@read
PATCH /api/admin/quiz-attempts/{id}/feedback yes QuizAttemptApiAdminController@feedback
PATCH /api/admin/quiz-answers/{id} yes AttemptAnswerApiAdminController@update
GET /api/admin/gift-quizes yes GiftQuizApiAdminController@index
GET /api/admin/gift-quizes/{id} yes GiftQuizApiAdminController@read
PUT /api/admin/gift-quizes/{id} yes GiftQuizApiAdminController@update
GET /api/quiz-attempts yes QuizAttemptApiController@index
POST /api/quiz-attempts yes QuizAttemptApiController@getActiveAttempt
GET /api/quiz-attempts/{id} yes QuizAttemptApiController@read
POST /api/quiz-attempts/{id}/end yes QuizAttemptApiController@markAsEnded
POST /api/quiz-answers yes AttemptAnswerApiController@saveAnswer
POST /api/quiz-answers/all yes AttemptAnswerApiController@saveAllAnswers

Package: topic-type-project

Method Path Auth Action
GET /api/admin/topic-project-solutions yes ProjectSolutionApiAdminController@index
GET /api/admin/topic-project-solutions/{id} yes ProjectSolutionApiAdminController@read
PATCH /api/admin/topic-project-solutions/{id}/feedback yes ProjectSolutionApiAdminController@feedback
PATCH /api/admin/topic-project-solutions/{id}/grade yes ProjectSolutionApiAdminController@grade
DELETE /api/admin/topic-project-solutions/{id} yes ProjectSolutionApiAdminController@delete
GET /api/topic-project-solutions yes ProjectSolutionApiController@index
GET /api/topic-project-solutions/{id} yes ProjectSolutionApiController@read
POST /api/topic-project-solutions yes ProjectSolutionApiController@create
DELETE /api/topic-project-solutions/{id} yes ProjectSolutionApiController@delete

Package: translations

Method Path Auth Action
GET /api/admin/translations yes TranslationAdminApiController@index
POST /api/admin/translations yes TranslationAdminApiController@store
PUT /api/admin/translations/{id} yes TranslationAdminApiController@update
GET /api/admin/translations/{id} yes TranslationAdminApiController@show
DELETE /api/admin/translations/{id} yes TranslationAdminApiController@delete
POST /api/admin/translations/retrieve yes TranslationAdminApiController@translate
GET /api/translations TranslationApiController@index

Package: uploads

Method Path Auth Action
GET /api/content/{path} ContentFileController@show

Package: video

Method Path Auth Action
GET /api/admin/video/states yes VideoController@states

Package: vouchers

Method Path Auth Action
GET /api/admin/vouchers yes VouchersAdminApiController@index
POST /api/admin/vouchers yes VouchersAdminApiController@create
GET /api/admin/vouchers/{id} yes VouchersAdminApiController@read
PUT /api/admin/vouchers/{id} yes VouchersAdminApiController@update
PATCH /api/admin/vouchers/{id} yes VouchersAdminApiController@update
DELETE /api/admin/vouchers/{id} yes VouchersAdminApiController@delete
POST /api/cart/voucher VouchersApiController@apply
DELETE /api/cart/voucher VouchersApiController@unapply

Package: webinar

Method Path Auth Action
POST /api/admin/webinars/{id} yes WebinarController@update
GET /api/admin/webinars/{id}/users yes WebinarController@webinarUsers
GET /api/admin/webinars yes WebinarController@index
GET /api/admin/webinars/create yes WebinarController@create
POST /api/admin/webinars yes WebinarController@store
GET /api/admin/webinars/{id} yes WebinarController@show
GET /api/admin/webinars/{id}/edit yes WebinarController@edit
PUT|PATCH /api/admin/webinars/{id} yes WebinarController@update
DELETE /api/admin/webinars/{id} yes WebinarController@destroy
GET /api/admin/webinars/users/assignable yes WebinarController@assignableUsers
GET /api/webinars/me yes WebinarAPIController@forCurrentUser
GET /api/webinars/generate-jitsi/{id} yes WebinarAPIController@generateJitsi
GET /api/webinars/start-live-stream/{id} yes WebinarAPIController@startLiveStream
GET /api/webinars/stop-live-stream/{id} yes WebinarAPIController@stopLiveStream
GET /api/webinars WebinarAPIController@index
GET /api/webinars/{id} WebinarAPIController@show

Package: youtube

Method Path Auth Action
POST /api/admin/g-token/generate yes GoogleController@generateUrl
GET /api/refresh-token GoogleController@setRefreshToken