Skip to content

CLI endpoint coverage

Generated from front/cli/coverage/matrix.md

Every operation of the API’s OpenAPI document is covered by a command or excluded with a reason, checked in CI by yarn workspace ulams coverage. 517/566 covered, 49 excluded, 0 missing, 5 routes missing from the spec..

Operation Command Status
GET /api/admin/adapt adapt.list covered
POST /api/admin/adapt adapt.create covered
GET /api/admin/adapt/{id} adapt.get covered
DELETE /api/admin/adapt/{id} adapt.delete covered
POST /api/admin/adapt/{id}/build adapt.build covered
GET /api/admin/adapt/{id}/source adapt.source covered
GET /api/admin/adapt/{id}/versions adapt.versions-list covered
POST /api/admin/adapt/{id}/versions adapt.versions-add covered
GET /api/admin/agent-audit tokens.agent-audit covered
GET /api/admin/bookmarks bookmarks.list covered
POST /api/admin/bookmarks bookmarks.create covered
PATCH /api/admin/bookmarks/{id} bookmarks.update covered
DELETE /api/admin/bookmarks/{id} bookmarks.delete covered
GET /api/admin/bulk-notifications notifications-bulk.list covered
POST /api/admin/bulk-notifications/send notifications-bulk.send covered
POST /api/admin/bulk-notifications/send/multicast notifications-bulk.send-multicast covered
POST /api/admin/categories categories.create covered
POST /api/admin/categories/sort categories.sort covered
GET /api/admin/categories/{id} categories.get covered
POST /api/admin/categories/{id} categories.update covered
DELETE /api/admin/categories/{id} categories.delete covered
POST /api/admin/cmi5 cmi5.upload covered
GET /api/admin/cmi5/ cmi5.list covered
GET /api/admin/cmi5/statements cmi5.statements covered
DELETE /api/admin/cmi5/{id} cmi5.delete covered
GET /api/admin/config config.list covered
POST /api/admin/config config.create covered
GET /api/admin/consultation-access-enquiries consultations.access-enquiries-list covered
POST /api/admin/consultation-access-enquiries/approve/{proposedTermId} consultations.access-enquiries-approve covered
POST /api/admin/consultation-access-enquiries/disapprove/{id} consultations.access-enquiries-disapprove covered
GET /api/admin/consultations consultations.list covered
POST /api/admin/consultations consultations.create covered
GET /api/admin/consultations/users/assignable consultations.users-assignable covered
GET /api/admin/consultations/{id} consultations.get covered
PUT /api/admin/consultations/{id} consultations.update covered
DELETE /api/admin/consultations/{id} consultations.delete covered
GET /api/admin/consultations/{id}/schedule consultations.schedule covered
GET /api/admin/course-access-enquiries access.enquiries-list covered
POST /api/admin/course-access-enquiries/approve/{id} access.enquiries-approve covered
DELETE /api/admin/course-access-enquiries/{id} access.enquiries-delete covered
GET /api/admin/course-builder/fragments/{fragment} builder.fragments.get covered
GET /api/admin/course-builder/runs/{run} builder.runs.get covered
POST /api/admin/course-builder/runs/{run}/cancel builder.runs.cancel covered
POST /api/admin/course-builder/runs/{run}/steps/{step}/retry builder.runs.retry-step covered
GET /api/admin/course-builder/sessions builder.sessions.list covered
POST /api/admin/course-builder/sessions builder.sessions.create covered
GET /api/admin/course-builder/sessions/{session} builder.sessions.get covered
DELETE /api/admin/course-builder/sessions/{session} builder.sessions.delete covered
POST /api/admin/course-builder/sessions/{session}/apply builder.apply covered
GET /api/admin/course-builder/sessions/{session}/brief builder.brief.get covered
PUT /api/admin/course-builder/sessions/{session}/brief builder.brief.set covered
GET /api/admin/course-builder/sessions/{session}/citations builder.citations covered
POST /api/admin/course-builder/sessions/{session}/elements/{element}/variants builder.variants covered
GET /api/admin/course-builder/sessions/{session}/events builder.events covered
POST /api/admin/course-builder/sessions/{session}/new-site builder.new-site covered
POST /api/admin/course-builder/sessions/{session}/outline builder.outline-edit covered
POST /api/admin/course-builder/sessions/{session}/publish builder.publish covered
GET /api/admin/course-builder/sessions/{session}/publish-check builder.publish-check covered
POST /api/admin/course-builder/sessions/{session}/redo builder.redo covered
POST /api/admin/course-builder/sessions/{session}/runs builder.chat covered
POST /api/admin/course-builder/sessions/{session}/sources builder.sources.add covered
GET /api/admin/course-builder/sessions/{session}/sources/{source} builder.sources.get covered
POST /api/admin/course-builder/sessions/{session}/undo builder.undo covered
GET /api/admin/course-builder/sessions/{session}/usage builder.usage covered
GET /api/admin/course-builder/sessions/{session}/versions builder.chat covered
GET /api/admin/course-builder/versions/{version} builder.elements.list covered
POST /api/admin/course-builder/versions/{version}/approve builder.outline.approve covered
GET /api/admin/course-builder/versions/{version}/diff builder.chat covered
POST /api/admin/course-builder/versions/{version}/reject builder.outline.request-changes covered
POST /api/admin/course-builder/versions/{version}/restore builder.versions.restore covered
GET /api/admin/courses courses.list covered
POST /api/admin/courses courses.create covered
POST /api/admin/courses/sort courses.sort covered
GET /api/admin/courses/users/assignable courses.users-assignable covered
POST /api/admin/courses/zip/import courses.import covered
POST /api/admin/courses/{id} courses.publish covered
DELETE /api/admin/courses/{id} courses.delete covered
GET /api/admin/courses/{id}/access access.list covered
POST /api/admin/courses/{id}/access/add access.grant covered
POST /api/admin/courses/{id}/access/remove access.revoke covered
POST /api/admin/courses/{id}/access/set access.set covered
GET /api/admin/courses/{id}/clone courses.clone covered
GET /api/admin/courses/{id}/export courses.export covered
GET /api/admin/csp-reports csp-reports.list covered
POST /api/admin/csv/groups csv.groups covered
GET /api/admin/csv/groups/group_id csv.groups-group-id covered
GET /api/admin/csv/users csv.users-list covered
POST /api/admin/csv/users csv.users-add covered
GET /api/admin/dictionaries dictionaries.list covered
POST /api/admin/dictionaries dictionaries.create covered
GET /api/admin/dictionaries/{id} dictionaries.get covered
PUT /api/admin/dictionaries/{id} dictionaries.update covered
DELETE /api/admin/dictionaries/{id} dictionaries.delete covered
GET /api/admin/dictionaries/{id}/access dictionaries.access-list covered
POST /api/admin/dictionaries/{id}/access dictionaries.access-add covered
GET /api/admin/dictionary-words dictionary-words.list covered
POST /api/admin/dictionary-words dictionary-words.create covered
POST /api/admin/dictionary-words/import dictionary-words.import covered
GET /api/admin/dictionary-words/{id} dictionary-words.get covered
PUT /api/admin/dictionary-words/{id} dictionary-words.update covered
DELETE /api/admin/dictionary-words/{id} dictionary-words.delete covered
POST /api/admin/events/trigger-manually/{id} events.trigger-manually covered
DELETE /api/admin/file/delete file.delete covered
GET /api/admin/file/find file.find covered
GET /api/admin/file/list file.list covered
POST /api/admin/file/move file.move covered
POST /api/admin/file/upload file.upload covered
POST /api/admin/gift-questions questions.create covered
GET /api/admin/gift-questions/export questions.export covered
POST /api/admin/gift-questions/import questions.import covered
POST /api/admin/gift-questions/sort questions.sort covered
PUT /api/admin/gift-questions/{id} questions.update covered
DELETE /api/admin/gift-questions/{id} questions.delete covered
GET /api/admin/gift-quizes quizzes.list covered
GET /api/admin/gift-quizes/{id} quizzes.get covered
PUT /api/admin/gift-quizes/{id} quizzes.update covered
GET /api/admin/h5p/contents h5p.contents covered
DELETE /api/admin/h5p/unused h5p.unused covered
GET /api/admin/interactive interactive.list covered
POST /api/admin/interactive interactive.create covered
GET /api/admin/interactive/{id} interactive.get covered
PUT /api/admin/interactive/{id} interactive.update covered
DELETE /api/admin/interactive/{id} interactive.delete covered
GET /api/admin/interactive/{id}/preview interactive.preview covered
GET /api/admin/interactive/{id}/versions interactive.versions covered
POST /api/admin/interactive/{id}/versions interactive.add-version covered
GET /api/admin/lessons lessons.list covered
POST /api/admin/lessons lessons.create covered
GET /api/admin/lessons/{id} lessons.get covered
PUT /api/admin/lessons/{id} lessons.update covered
DELETE /api/admin/lessons/{id} lessons.delete covered
POST /api/admin/lessons/{id}/clone lessons.clone covered
GET /api/admin/liascript liascript.list covered
POST /api/admin/liascript liascript.create covered
GET /api/admin/liascript/{id} liascript.get covered
PUT /api/admin/liascript/{id} liascript.update covered
DELETE /api/admin/liascript/{id} liascript.delete covered
POST /api/admin/liascript/{id}/preview liascript.preview covered
GET /api/admin/liascript/{id}/source liascript.source covered
GET /api/admin/liascript/{id}/versions liascript.versions-list covered
POST /api/admin/liascript/{id}/versions liascript.versions-add covered
POST /api/admin/liascript/{id}/versions/{version}/restore liascript.versions-restore covered
GET /api/admin/living-course/audit/export living.audit.export-all covered
GET /api/admin/living-course/audit/verify living.audit.verify-all covered
PUT /api/admin/living-course/connections/{connection} living.connections.update covered
DELETE /api/admin/living-course/connections/{connection} living.connections.delete covered
POST /api/admin/living-course/connections/{connection}/check living.connections.check covered
POST /api/admin/living-course/connections/{connection}/webhook-secret living.connections.webhook-secret covered
GET /api/admin/living-course/connectors living.connectors.list covered
GET /api/admin/living-course/proposals/{proposal} living.proposals.get covered
POST /api/admin/living-course/proposals/{proposal}/accept-all living.proposals.accept-all covered
POST /api/admin/living-course/proposals/{proposal}/analyse living.proposals.analyse covered
POST /api/admin/living-course/proposals/{proposal}/apply living.proposals.apply covered
POST /api/admin/living-course/proposals/{proposal}/items/{item}/accept living.proposals.accept covered
POST /api/admin/living-course/proposals/{proposal}/items/{item}/regenerate living.proposals.regenerate covered
POST /api/admin/living-course/proposals/{proposal}/items/{item}/reject living.proposals.reject covered
POST /api/admin/living-course/proposals/{proposal}/items/{item}/reset living.proposals.reset covered
PUT /api/admin/living-course/proposals/{proposal}/learner-note living.proposals.learner-note covered
POST /api/admin/living-course/proposals/{proposal}/reanalyse living.proposals.reanalyse covered
POST /api/admin/living-course/proposals/{proposal}/reject living.proposals.reject-all covered
GET /api/admin/living-course/revisions/{revision} living.revisions.get covered
GET /api/admin/living-course/revisions/{revision}/changes living.revisions.changes covered
GET /api/admin/living-course/sessions/{session}/audit living.audit.list covered
GET /api/admin/living-course/sessions/{session}/audit/export living.audit.export covered
GET /api/admin/living-course/sessions/{session}/audit/verify living.audit.verify covered
GET /api/admin/living-course/sessions/{session}/proposals living.proposals.list covered
GET /api/admin/living-course/sessions/{session}/sources living.sources.list covered
POST /api/admin/living-course/sessions/{session}/sources/connect living.sources.connect covered
GET /api/admin/living-course/sessions/{session}/staleness living.staleness covered
GET /api/admin/living-course/sources/{source}/revisions living.revisions.list covered
POST /api/admin/living-course/sources/{source}/revisions living.revisions.upload covered
GET /api/admin/lti/endpoints lti.endpoints covered
GET /api/admin/lti/platforms lti.platforms-list covered
POST /api/admin/lti/platforms lti.platforms-add covered
GET /api/admin/lti/platforms/{platform} lti.platforms-get covered
PUT /api/admin/lti/platforms/{platform} lti.platforms-set covered
DELETE /api/admin/lti/platforms/{platform} lti.platforms-delete covered
GET /api/admin/lti/tools lti.tools-list covered
POST /api/admin/lti/tools lti.tools-add covered
GET /api/admin/lti/tools/{tool} lti.tools-get covered
PUT /api/admin/lti/tools/{tool} lti.tools-set covered
DELETE /api/admin/lti/tools/{tool} lti.tools-delete covered
POST /api/admin/lti/tools/{tool}/deep-link lti.tools-deep-link covered
GET /api/admin/model-fields model-fields.list covered
POST /api/admin/model-fields model-fields.create covered
DELETE /api/admin/model-fields model-fields.delete covered
GET /api/admin/notifications notifications.list covered
GET /api/admin/notifications/all notifications.all covered
GET /api/admin/notifications/events notifications.events covered
POST /api/admin/notifications/read-all notifications.read-all covered
GET /api/admin/orders orders.list covered
GET /api/admin/orders/export orders.export covered
GET /api/admin/orders/{id} orders.get covered
GET /api/admin/pages pages.list covered
POST /api/admin/pages pages.create covered
GET /api/admin/pages/{id} pages.get covered
PATCH /api/admin/pages/{id} pages.update covered
DELETE /api/admin/pages/{id} pages.delete covered
GET /api/admin/payments payments.list covered
GET /api/admin/payments/export payments.export covered
GET /api/admin/payments/{id} payments.get covered
GET /api/admin/pdfs pdfs.list covered
POST /api/admin/pdfs/preview pdfs.preview covered
GET /api/admin/productables/ productables.list covered
POST /api/admin/productables/attach productables.attach covered
POST /api/admin/productables/detach productables.detach covered
GET /api/admin/productables/product productables.product covered
GET /api/admin/productables/registered productables.registered covered
GET /api/admin/products products.list covered
POST /api/admin/products/ products.create covered
GET /api/admin/products/{id} products.get covered
PUT /api/admin/products/{id} products.update covered
DELETE /api/admin/products/{id} products.delete covered
POST /api/admin/products/{id}/attach products.attach covered
POST /api/admin/products/{id}/detach products.detach covered
POST /api/admin/products/{id}/trigger-event-manually/{idTemplate} products.trigger-event-manually covered
GET /api/admin/question questionnaire-questions.list covered
POST /api/admin/question questionnaire-questions.create covered
GET /api/admin/question-answers/{id} question-answers.get covered
POST /api/admin/question-answers/{id}/change-visibility question-answers.change-visibility covered
GET /api/admin/question/{id} questionnaire-questions.get covered
PATCH /api/admin/question/{id} questionnaire-questions.update covered
DELETE /api/admin/question/{id} questionnaire-questions.delete covered
GET /api/admin/questionnaire questionnaire.list covered
POST /api/admin/questionnaire questionnaire.create covered
GET /api/admin/questionnaire-model questionnaire-model.list covered
PATCH /api/admin/questionnaire/assign/{model_type_title}/{model_id}/{id}/{target_group} questionnaire.assign covered
GET /api/admin/questionnaire/report/{id}/{model_type_id}/{model_id} questionnaire.report covered
DELETE /api/admin/questionnaire/unassign/{model_type_title}/{model_id}/{id}/{target_group} questionnaire.unassign-delete covered
GET /api/admin/questionnaire/{id} questionnaire.get covered
PATCH /api/admin/questionnaire/{id} questionnaire.update covered
DELETE /api/admin/questionnaire/{id} questionnaire.delete covered
PATCH /api/admin/quiz-answers/{id} quiz-answers.update covered
GET /api/admin/quiz-attempts quiz-attempts.list covered
GET /api/admin/quiz-attempts/export quiz-attempts.export covered
GET /api/admin/quiz-attempts/{id} quiz-attempts.get covered
PATCH /api/admin/quiz-attempts/{id}/feedback quiz-attempts.feedback covered
GET /api/admin/reports/available-for-user reports.available-for-user covered
GET /api/admin/reports/metrics reports.metrics covered
GET /api/admin/reports/report reports.report covered
GET /api/admin/roles roles.list covered
POST /api/admin/roles roles.create covered
GET /api/admin/roles/{name} roles.get covered
PATCH /api/admin/roles/{name} roles.update covered
DELETE /api/admin/roles/{name} roles.delete covered
GET /api/admin/scorm/ scorm.list covered
POST /api/admin/scorm/parse scorm.parse covered
GET /api/admin/scorm/scos scorm.scos covered
POST /api/admin/scorm/upload scorm.upload covered
DELETE /api/admin/scorm/{scorm_id} scorm.delete covered
GET /api/admin/settings settings.get covered
POST /api/admin/settings settings.create covered
GET /api/admin/settings/groups settings.groups covered
GET /api/admin/settings/{id} settings.get-by-id covered
PUT /api/admin/settings/{id} settings.set covered
DELETE /api/admin/settings/{id} settings.delete covered
GET /api/admin/stationary-events events.list covered
POST /api/admin/stationary-events events.create covered
GET /api/admin/stationary-events/{id} events.get covered
PUT /api/admin/stationary-events/{id} events.update covered
DELETE /api/admin/stationary-events/{id} events.delete covered
GET /api/admin/stats/available stats.available covered
GET /api/admin/stats/cart stats.cart covered
GET /api/admin/stats/course/{course_id} stats.course covered
GET /api/admin/stats/course/{course_id}/export stats.course-export covered
GET /api/admin/stats/date-range stats.date-range covered
GET /api/admin/stats/topic/{topic_id} stats.topic covered
GET /api/admin/stats/topic/{topic_id}/export stats.topic-export covered
POST /api/admin/tags tags.create covered
DELETE /api/admin/tags tags.delete covered
GET /api/admin/tags/unique tags.unique covered
GET /api/admin/tags/{tag} tags.get covered
GET /api/admin/tasks tasks.list covered
POST /api/admin/tasks tasks.create covered
POST /api/admin/tasks/complete/{id} tasks.complete covered
POST /api/admin/tasks/incomplete/{id} tasks.incomplete covered
POST /api/admin/tasks/notes tasks.notes covered
PATCH /api/admin/tasks/notes/{id} tasks.notes-update covered
DELETE /api/admin/tasks/notes/{id} tasks.notes-delete covered
GET /api/admin/tasks/{id} tasks.get covered
PATCH /api/admin/tasks/{id} tasks.update covered
DELETE /api/admin/tasks/{id} tasks.delete covered
GET /api/admin/templates templates.list covered
POST /api/admin/templates templates.create covered
GET /api/admin/templates/assignable templates.assignable covered
GET /api/admin/templates/assigned templates.assigned covered
GET /api/admin/templates/variables templates.variables covered
GET /api/admin/templates/{id} templates.get covered
PATCH /api/admin/templates/{id} templates.update covered
DELETE /api/admin/templates/{id} templates.delete covered
POST /api/admin/templates/{id}/assign templates.assign covered
GET /api/admin/templates/{id}/preview templates.preview covered
POST /api/admin/templates/{id}/unassign templates.unassign covered
GET /api/admin/tokens tokens.list-all covered
DELETE /api/admin/tokens/{id} tokens.revoke-any covered
GET /api/admin/tokens/{id}/audit tokens.audit covered
GET /api/admin/topic-project-solutions topic-project-solutions.list covered
GET /api/admin/topic-project-solutions/{id} topic-project-solutions.get covered
DELETE /api/admin/topic-project-solutions/{id} topic-project-solutions.delete covered
PATCH /api/admin/topic-project-solutions/{id}/feedback topic-project-solutions.feedback covered
PATCH /api/admin/topic-project-solutions/{id}/grade topic-project-solutions.grade covered
GET /api/admin/topics topics.list covered
POST /api/admin/topics topics.create covered
GET /api/admin/topics/types topics.types covered
GET /api/admin/topics/{id} topics.get covered
PUT /api/admin/topics/{id} topics.update covered
DELETE /api/admin/topics/{id} topics.delete covered
POST /api/admin/topics/{id}/clone topics.clone covered
GET /api/admin/topics/{topic_id}/resources/ topics.resources-list covered
POST /api/admin/topics/{topic_id}/resources/ topics.resources-add covered
PATCH /api/admin/topics/{topic_id}/resources/{resource_id} topics.resources-update covered
DELETE /api/admin/topics/{topic_id}/resources/{resource_id} topics.resources-delete covered
GET /api/admin/translations translations.list covered
POST /api/admin/translations translations.create covered
POST /api/admin/translations/retrieve translations.retrieve covered
GET /api/admin/translations/{id} translations.get covered
PUT /api/admin/translations/{id} translations.update covered
DELETE /api/admin/translations/{id} translations.delete covered
GET /api/admin/user-groups/ groups.list covered
POST /api/admin/user-groups/ groups.create covered
GET /api/admin/user-groups/tree/ groups.tree covered
GET /api/admin/user-groups/users groups.users covered
GET /api/admin/user-groups/{id} groups.get covered
PUT /api/admin/user-groups/{id} groups.update covered
DELETE /api/admin/user-groups/{id} groups.delete covered
POST /api/admin/user-groups/{id}/members groups.members covered
DELETE /api/admin/user-groups/{id}/members/{user_id} groups.members-delete covered
GET /api/admin/user-submissions user-submissions.list covered
POST /api/admin/user-submissions user-submissions.create covered
PUT /api/admin/user-submissions/{id} user-submissions.update covered
DELETE /api/admin/user-submissions/{id} user-submissions.delete covered
PUT /api/admin/user/{id} users.update covered
PATCH /api/admin/user/{id} users.patch covered
GET /api/admin/users users.list covered
POST /api/admin/users users.create covered
GET /api/admin/users/{id} users.get covered
DELETE /api/admin/users/{id} users.delete covered
POST /api/admin/users/{id}/avatar users.avatar-add covered
DELETE /api/admin/users/{id}/avatar users.avatar-delete covered
GET /api/admin/users/{id}/interests users.interests-list covered
POST /api/admin/users/{id}/interests users.interests-add covered
PUT /api/admin/users/{id}/interests users.interests-set covered
DELETE /api/admin/users/{id}/interests/{interest_id} users.interests-delete covered
GET /api/admin/users/{id}/settings users.settings-list covered
PUT /api/admin/users/{id}/settings users.settings-set covered
PATCH /api/admin/users/{id}/settings users.settings-update covered
GET /api/admin/video/states video.states covered
GET /api/admin/vouchers vouchers.list covered
POST /api/admin/vouchers vouchers.create covered
GET /api/admin/vouchers/{id} vouchers.get covered
PATCH /api/admin/vouchers/{id} vouchers.update covered
DELETE /api/admin/vouchers/{id} vouchers.delete covered
GET /api/admin/webinars webinars.list covered
POST /api/admin/webinars webinars.create covered
GET /api/admin/webinars/users/assignable webinars.users-assignable covered
GET /api/admin/webinars/{id} webinars.get covered
PUT /api/admin/webinars/{id} webinars.update covered
DELETE /api/admin/webinars/{id} webinars.delete covered
GET /api/admin/webinars/{id}/users webinars.users covered
POST /api/auth/device/code login covered
GET /api/auth/device/requests/{user_code} my.auth-device-requests covered
POST /api/auth/device/requests/{user_code}/approve my.auth-device-requests-approve covered
POST /api/auth/device/requests/{user_code}/deny my.auth-device-requests-deny covered
POST /api/auth/device/token login covered
POST /api/auth/email/resend public.auth-email-resend covered
GET /api/auth/email/verify/{id}/{hash} excluded: browser-only
POST /api/auth/impersonate public.auth-impersonate covered
POST /api/auth/login login covered
POST /api/auth/logout my.auth-logout covered
POST /api/auth/password/forgot public.auth-password-forgot covered
POST /api/auth/password/reset public.auth-password-reset covered
GET /api/auth/refresh my.auth-refresh covered
POST /api/auth/register public.auth-register covered
GET /api/auth/registerable-groups/ public.auth-registerable-groups covered
POST /api/auth/social/complete/{token} excluded: browser-only
GET /api/auth/social/{provider} excluded: browser-only
GET /api/auth/social/{provider}/callback excluded: browser-only
GET /api/auth/tokens tokens.list covered
POST /api/auth/tokens tokens.create covered
GET /api/auth/tokens/current tokens.current covered
DELETE /api/auth/tokens/{id} logout covered
GET /api/bookmarks my.bookmarks-list covered
POST /api/bookmarks my.bookmarks-create covered
PATCH /api/bookmarks/{id} my.bookmarks-update covered
DELETE /api/bookmarks/{id} my.bookmarks-delete covered
GET /api/cart my.cart-list covered
POST /api/cart/add my.cart-add covered
POST /api/cart/missing my.cart-missing covered
POST /api/cart/pay my.cart-pay covered
POST /api/cart/products my.cart-products covered
DELETE /api/cart/products/{id} my.cart-products-delete covered
POST /api/cart/voucher my.cart-voucher-add covered
DELETE /api/cart/voucher my.cart-voucher-delete covered
GET /api/categories public.categories-list covered
GET /api/categories/tree public.categories-tree covered
GET /api/cmi5/courses/{id} excluded: content-runtime
POST /api/cmi5/fetch excluded: content-runtime
GET /api/cmi5/player/{cmi5AuId} excluded: content-runtime
GET /api/config public.config-list covered
GET /api/consultation-access-enquiries my.consultation-access-enquiries-list covered
POST /api/consultation-access-enquiries my.consultation-access-enquiries-create covered
GET /api/consultation-access-enquiries/{id} my.consultation-access-enquiries-get covered
PATCH /api/consultation-access-enquiries/{id} my.consultation-access-enquiries-update covered
DELETE /api/consultation-access-enquiries/{id} my.consultation-access-enquiries-delete covered
GET /api/consultation-access-enquiries/{id}/join my.consultation-access-enquiries-join covered
GET /api/consultations public.consultations-list covered
GET /api/consultations/approve-term/{consultationTermId} excluded: browser-only
POST /api/consultations/change-term/{consultationTermId} my.consultations-change-term covered
POST /api/consultations/finish-term/{consultationTermId} my.consultations-finish-term covered
GET /api/consultations/generate-jitsi/{consultationTermId} my.consultations-generate-jitsi covered
GET /api/consultations/me my.consultations-me covered
GET /api/consultations/my-schedule my.consultations-my-schedule covered
GET /api/consultations/proposed-terms/{orderItemId} my.consultations-proposed-terms covered
GET /api/consultations/reject-term/{consultationTermId} excluded: browser-only
POST /api/consultations/report-term/{orderItemId} my.consultations-report-term covered
GET /api/consultations/{id} public.consultations-get covered
GET /api/core/packages my.core-packages covered
GET /api/course-access-enquiries my.course-access-enquiries-list covered
POST /api/course-access-enquiries my.course-access-enquiries-create covered
DELETE /api/course-access-enquiries/{id} my.course-access-enquiries-delete covered
GET /api/courses public.courses-list covered
GET /api/courses/authored my.courses-authored covered
GET /api/courses/my my.courses-my covered
GET /api/courses/progress my.courses-progress covered
GET /api/courses/progress/paginated my.courses-progress-paginated covered
GET /api/courses/progress/{course_id} my.courses-progress-list covered
PATCH /api/courses/progress/{course_id} my.courses-progress-update covered
POST /api/courses/progress/{topic_id}/h5p excluded: content-runtime
PUT /api/courses/progress/{topic_id}/ping my.courses-progress-ping covered
GET /api/courses/{id} public.courses-get covered
GET /api/courses/{id}/preview/{topic_id} public.courses-preview covered
GET /api/courses/{id}/program my.courses-program covered
GET /api/courses/{id}/scorm excluded: browser-only
POST /api/csp-report public.csp-report-create covered
GET /api/demo public.demo-list covered
POST /api/demo/login login covered
GET /api/dictionaries/access my.dictionaries-access covered
GET /api/dictionaries/{slug}/words public.dictionaries-words-list covered
GET /api/dictionaries/{slug}/words/categories public.dictionaries-words-categories covered
GET /api/dictionaries/{slug}/words/{id} public.dictionaries-words-get covered
GET /api/events public.events-feed covered
GET /api/health-check excluded: internal
GET /api/images/img excluded: browser-only
POST /api/images/img excluded: browser-only
POST /api/interactive/launches/{topic} excluded: content-runtime
GET /api/interactive/showcase excluded: content-runtime
POST /api/interactive/topics/{topic}/events excluded: content-runtime
POST /api/liascript/launches/{topic} excluded: content-runtime
POST /api/liascript/progress/{topic} excluded: content-runtime
GET /api/living-course/courses/{course}/freshness my.living-course-courses-freshness covered
GET /api/living-course/courses/{course}/notices my.living-course-courses-notices covered
POST /api/living-course/notices/{notice}/dismiss my.living-course-notices-dismiss covered
POST /api/living-course/webhooks/{webhookId} public.living-course-webhooks covered
GET /api/lti/frame-origins public.lti-frame-origins covered
GET /api/lti/jwks excluded: internal
POST /api/lti/launches/{topic} excluded: browser-only
GET /api/lti/platform/ags/{course}/lineitems excluded: browser-only
POST /api/lti/platform/ags/{course}/lineitems excluded: browser-only
GET /api/lti/platform/ags/{course}/lineitems/{lineItem} excluded: browser-only
PUT /api/lti/platform/ags/{course}/lineitems/{lineItem} excluded: browser-only
DELETE /api/lti/platform/ags/{course}/lineitems/{lineItem} excluded: browser-only
GET /api/lti/platform/ags/{course}/lineitems/{lineItem}/results excluded: browser-only
POST /api/lti/platform/ags/{course}/lineitems/{lineItem}/scores excluded: browser-only
GET /api/lti/platform/authorize excluded: browser-only
POST /api/lti/platform/deep-links excluded: browser-only
GET /api/lti/platform/nrps/{course} excluded: browser-only
POST /api/lti/platform/token excluded: browser-only
POST /api/lti/tool/deep-link excluded: browser-only
POST /api/lti/tool/exchange excluded: browser-only
POST /api/lti/tool/launch excluded: browser-only
POST /api/lti/tool/launch/verify excluded: browser-only
GET /api/lti/tool/login excluded: browser-only
GET /api/mattermost/generate_credentials my.mattermost-generate-credentials covered
GET /api/mattermost/me my.mattermost-me covered
GET /api/mattermost/reset_password my.mattermost-reset-password covered
GET /api/meta meta covered
GET /api/model-fields public.model-fields-list covered
POST /api/notifications/tokens my.notifications-tokens covered
POST /api/notifications/{notification}/read my.notifications-read covered
GET /api/order-invoices/{id} my.order-invoices-get covered
GET /api/orders my.orders-list covered
GET /api/orders/{id} my.orders-get covered
GET /api/pages public.pages-list covered
GET /api/pages/{slug} public.pages-get covered
GET /api/payments my.payments-list covered
GET /api/payments/{id} my.payments-get covered
GET /api/pdfs my.pdfs-list covered
GET /api/pdfs/fonts excluded: content-runtime
GET /api/pdfs/fonts/{file} excluded: content-runtime
GET /api/pdfs/generate/{id} my.pdfs-generate covered
GET /api/pdfs/{id} my.pdfs-get covered
GET /api/platform/operations tenants.operations.list covered
GET /api/platform/operations/{id} tenants.operations.get covered
GET /api/platform/tenants tenants.list covered
POST /api/platform/tenants tenants.create covered
GET /api/platform/tenants/{slug} tenants.get covered
DELETE /api/platform/tenants/{slug} tenants.delete covered
PATCH /api/platform/tenants/{slug}/env tenants.set-env covered
POST /api/product/{id}/pay my.product-pay covered
POST /api/productables/attach my.productables-attach covered
GET /api/products my.products-list covered
POST /api/products/cancel/{id} my.products-cancel covered
GET /api/products/my my.products-my covered
GET /api/products/{id} my.products-get covered
DELETE /api/profile my.profile-delete-account covered
DELETE /api/profile/delete-avatar my.profile-delete-avatar covered
POST /api/profile/delete/init my.profile-delete-init covered
GET /api/profile/delete/{userId}/{token} excluded: browser-only
PUT /api/profile/interests my.profile-interests covered
GET /api/profile/me my.profile-me-list covered
PUT /api/profile/me my.profile-me-set covered
PUT /api/profile/me-auth my.profile-me-auth covered
PUT /api/profile/password my.profile-password covered
GET /api/profile/settings my.profile-settings-list covered
PUT /api/profile/settings my.profile-settings-set covered
POST /api/profile/upload-avatar my.profile-upload-avatar covered
GET /api/questionnaire/stars/{model_type_title}/{model_id} public.questionnaire-stars covered
GET /api/questionnaire/{model_type_title}/{model_id} my.questionnaire-list covered
GET /api/questionnaire/{model_type_title}/{model_id}/questions/{question_id}/answers public.questionnaire-questions-answers covered
GET /api/questionnaire/{model_type_title}/{model_id}/questions/{question_id}/stars public.questionnaire-questions-stars covered
GET /api/questionnaire/{model_type_title}/{model_id}/{id} my.questionnaire-get covered
POST /api/questionnaire/{model_type_title}/{model_id}/{id} my.questionnaire-update covered
POST /api/quiz-answers my.quiz-answers-create covered
POST /api/quiz-answers/all my.quiz-answers-all covered
GET /api/quiz-attempts my.quiz-attempts-list covered
POST /api/quiz-attempts my.quiz-attempts-create covered
GET /api/quiz-attempts/{id} my.quiz-attempts-get covered
POST /api/quiz-attempts/{id}/end my.quiz-attempts-end covered
GET /api/scorm/assets/scorm-again.min.js excluded: content-runtime
GET /api/scorm/content/{uuid} excluded: content-runtime
POST /api/scorm/content/{uuid}/track excluded: content-runtime
POST /api/scorm/launch/{uuid} excluded: content-runtime
GET /api/scorm/play/{uuid} excluded: content-runtime
GET /api/scorm/show/{uuid} excluded: content-runtime
GET /api/scorm/track/{scoId}/{key} excluded: content-runtime
POST /api/scorm/track/{uuid} excluded: content-runtime
GET /api/settings public.settings-list covered
GET /api/settings/{group}/{key} my.settings-get covered
GET /api/stationary-events public.events-list covered
GET /api/stationary-events/me public.events-me covered
GET /api/stationary-events/{id} public.events-get covered
GET /api/tags public.tags-list covered
GET /api/tags/unique public.tags-unique covered
GET /api/tags/uniqueTags excluded: deprecated
GET /api/tasks my.tasks-list covered
POST /api/tasks my.tasks-create covered
POST /api/tasks/complete/{id} my.tasks-complete covered
POST /api/tasks/incomplete/{id} my.tasks-incomplete covered
POST /api/tasks/notes my.tasks-notes covered
PATCH /api/tasks/notes/{id} my.tasks-notes-update covered
DELETE /api/tasks/notes/{id} my.tasks-notes-delete covered
GET /api/tasks/{id} my.tasks-get covered
PATCH /api/tasks/{id} my.tasks-update covered
DELETE /api/tasks/{id} my.tasks-delete covered
GET /api/topic-project-solutions my.topic-project-solutions-list covered
POST /api/topic-project-solutions my.topic-project-solutions-create covered
GET /api/topic-project-solutions/{id} my.topic-project-solutions-get covered
DELETE /api/topic-project-solutions/{id} my.topic-project-solutions-delete covered
GET /api/translations public.translations-list covered
GET /api/tutors my.tutors-list covered
GET /api/tutors/{id} my.tutors-get covered
GET /api/webinars public.webinars-list covered
GET /api/webinars/generate-jitsi/{id} my.webinars-generate-jitsi covered
GET /api/webinars/me my.webinars-me covered
GET /api/webinars/start-live-stream/{id} my.webinars-start-live-stream covered
GET /api/webinars/{id} public.webinars-get covered

These routes exist and have commands, but the API’s OpenAPI document does not describe them yet.

Route Command
GET /api/admin/courses/{course} courses.get
GET /api/admin/courses/{course}/program courses.program
GET /api/admin/courses/{course} courses.publish
GET /api/admin/courses/{course} courses.unpublish
GET /api/auth/tokens/current whoami