Skip to main content

LMS Endpoint Catalog

Summary​

Source-backed Draft reference for LMS Endpoint Catalog across the implemented Training Service and, where applicable, Gateway surface.

Audience​

API consumers, engineering, QA, support, architecture, security, product, and implementation reviewers.

Reference Content​

Catalog rules​

Every mapped LMS-related operation appears exactly once below. R/W is read/write. Tenant values are None, Required (explicit required context), Filtered (tenant global filter/entity scope), or Forwarded (Gateway passes context). Auth records source evidence, not an assurance. Dependency names only public logical service boundaries. All entries remain Draft; T is Transitional and F is Foundation.

#MethodRouteCapabilityOwnerR/WRequestResponseTenantAuthDependencyStatusSource
1GET/Service discoveryNativeRNoneShared service-info envelopeNoneNoneNoneFP
2GET/healthProcess healthNativeRNoneHealth resultNoneNoneNoneFP
3GET/training/health-dataTraining diagnosticsNativeRNoneAnonymous diagnostic projectionFilteredNoneNoneFTE
4GET/training/coursesList coursesNativeRNoneCourseDto collectionFilteredNoneNoneTTE
5POST/training/coursesCreate course/contentNativeWCreateCourseDtoCourseDtoRequiredNoneNoneTTE
6POST/training/courses/{id}/publishPublish courseNativeWPath identifierCourseDtoFilteredNoneNoneTTE
7POST/training/courses/{id}/archiveArchive courseNativeWPath identifierCourseDtoFilteredNoneNoneTTE
8GET/training/import-export/templates/coursesCourse import templateNativeRNoneCSV fileNoneNoneNoneTTE
9POST/training/import-export/coursesImport coursesNativeWCsvImportDtoImportResultDtoRequiredNoneNoneTTE
10GET/training/import-export/courses/exportExport coursesNativeRNoneCSV fileFilteredNoneNoneTTE
11GET/training/import-export/templates/enrollmentsEnrollment import templateNativeRNoneCSV fileNoneNoneNoneTTE
12POST/training/import-export/enrollmentsImport enrollmentsNativeWCsvImportDtoImportResultDtoRequiredNoneNoneTTE
13GET/training/import-export/enrollments/exportExport enrollmentsNativeRNoneCSV fileFilteredNoneNoneTTE
14GET/training/import-export/certificates/exportExport certificatesNativeRNoneCSV fileFilteredNoneNoneTTE
15GET/training/import-export/assessment-results/exportExport assessment resultsNativeRNoneCSV fileFilteredNoneNoneTTE
16GET/training/courses/{id}/materialsList materialsNativeRPath identifierTrainingMaterialDto collectionFilteredNoneNoneTTE
17POST/training/courses/{id}/materialsStore materialNativeWCreateTrainingMaterialDtoTrainingMaterialDtoRequiredNoneDocument ServiceTTE
18GET/training/materials/{id}/downloadDownload materialNativeRPath identifierBinary fileFilteredNoneDocument ServiceTTE
19DELETE/training/materials/{id}Delete material referenceNativeWPath identifierMessage projectionFilteredNoneNoneTTE
20GET/training/learning-pathsList learning pathsNativeRNoneLearningPathDto collectionFilteredNoneNoneTTE
21POST/training/learning-pathsCreate learning pathNativeWCreateLearningPathDtoLearningPathDtoRequiredNoneNoneTTE
22GET/training/enrollmentsList enrollmentsNativeRNoneEnrollmentDto collectionFilteredNoneNoneTTE
23GET/training/enrollments/{id}Enrollment detailNativeRPath identifierEnrollmentDtoFilteredNoneNoneTTE
24POST/training/enrollmentsAssign courseNativeWCreateEnrollmentDtoEnrollmentDtoRequiredNoneNoneTTE
25POST/training/enrollments/{id}/startStart enrollmentNativeWPath identifierEnrollmentDtoFilteredNoneNoneTTE
26POST/training/enrollments/{id}/completeComplete enrollmentNativeWCompleteEnrollmentDto optionalEnrollmentDtoFilteredNoneNoneTTE
27GET/training/assessmentsList assessmentsNativeRNoneAssessmentDto collectionFilteredNoneNoneTTE
28POST/training/assessmentsCreate assessmentNativeWCreateAssessmentDtoAssessmentDtoRequiredNoneNoneTTE
29POST/training/assessments/{id}/attemptsStart attemptNativeWCreateAttemptDtoAttemptDtoFilteredNoneNoneTTE
30POST/training/attempts/{id}/submitSubmit attemptNativeWSubmitAttemptDtoAttemptDtoFilteredNoneNoneTTE
31GET/training/certificatesList certificatesNativeRNoneCertificateDto collectionFilteredNoneNoneTTE
32POST/training/certificates/{id}/issueIssue certificateNativeWIssueCertificateDto optionalCertificateDtoFilteredNoneNoneTTE
33POST/training/certificates/{id}/generate-documentGenerate certificate fileNativeWGenerateCertificateDocumentDto optionalCertificateDtoRequiredNoneDocument ServiceTTE
34GET/training/certificates/{id}/downloadDownload certificate fileNativeRPath identifierBinary fileFilteredNoneDocument ServiceTTE
35GET/training/sessionsList sessionsNativeRNoneSessionDto collectionFilteredNoneNoneTTE
36POST/training/sessionsCreate sessionNativeWCreateSessionDtoSessionDtoRequiredNoneNoneTTE
37POST/training/sessions/{id}/rescheduleReschedule sessionNativeWRescheduleSessionDtoSessionDtoFilteredNoneNoneTTE
38GET/training/reports/dashboardTraining dashboardNativeRNoneAnonymous report compositionFilteredNoneNoneTTE
39GET/training/reports/coursesCourse reportNativeRNoneCourseReportDtoFilteredNoneNoneTTE
40GET/training/reports/enrollmentsEnrollment reportNativeRNoneEnrollmentReportDtoFilteredNoneNoneTTE
41GET/training/reports/assessmentsAssessment reportNativeRNoneAssessmentReportDtoFilteredNoneNoneTTE
42GET/training/reports/certificatesCertificate reportNativeRNoneCertificateReportDtoFilteredNoneNoneTTE
43GET/training/reports/learning-pathsLearning-path reportNativeRNoneLearningPathReportDtoFilteredNoneNoneTTE
44GET/training/reports/managers/{managerId}Subject training summaryNativeRPath integerManagerTrainingReportDtoFilteredNoneNoneTTE
45GET/training/auditAudit evidenceNativeROptional limit queryAudit entity collectionFilteredNoneNoneFTE
46GET/training/timelineTimeline evidenceNativeROptional limit queryTimeline entity collectionFilteredNoneNoneFTE
47GET/training/outboxOutbox diagnosticsNativeROptional limit queryOutbox entity collectionFilteredNoneNoneFTE
48GET/ess/trainingESS training proxyGatewayRRequest contextGateway module resultForwardedGateway middleware; no route policyTraining ServiceTESS
49GET/ess/dashboardESS composed dashboardGatewayRRequest contextAnonymous composed resultForwardedGateway middleware; no route policyTraining and other servicesTESS

Source key​

  • P — microservices/src/training-service/Program.cs and microservices/src/shared-kernel/Extensions/EndpointRouteBuilderExtensions.cs
  • TE — microservices/src/training-service/Api/TrainingEndpoints.cs
  • ESS — microservices/src/gateway-api/EssEndpoints.cs

Verified totals​

  • 49 combined mapped operations: 47 native and two Gateway.
  • 31 reads and 18 writes.
  • Two Gateway employee-self-service reads.
  • Eight import/export operations.
  • Seven native report operations.
  • Four direct Document Service operations.
  • Three direct document-transfer operations: one material upload-style request and two binary downloads.
  • Eight file responses: six CSV responses and two binary downloads. The two CSV imports accept text inside JSON rather than multipart files.
  • No endpoint authorization declarations appear in Training routes; no Training route is proven anonymous because authentication is absent rather than explicitly allowing anonymous access.

Source References​

  • microservices/src/training-service/Program.cs
  • microservices/src/training-service/Api/TrainingEndpoints.cs
  • microservices/src/gateway-api/EssEndpoints.cs
  • microservices/src/shared-kernel/Extensions/EndpointRouteBuilderExtensions.cs

See Also​

Keywords​

  • LMS API
  • Training Service
  • Source-backed contract

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly