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.
| # | Method | Route | Capability | Owner | R/W | Request | Response | Tenant | Auth | Dependency | Status | Source |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | GET | / | Service discovery | Native | R | None | Shared service-info envelope | None | None | None | F | P |
| 2 | GET | /health | Process health | Native | R | None | Health result | None | None | None | F | P |
| 3 | GET | /training/health-data | Training diagnostics | Native | R | None | Anonymous diagnostic projection | Filtered | None | None | F | TE |
| 4 | GET | /training/courses | List courses | Native | R | None | CourseDto collection | Filtered | None | None | T | TE |
| 5 | POST | /training/courses | Create course/content | Native | W | CreateCourseDto | CourseDto | Required | None | None | T | TE |
| 6 | POST | /training/courses/{id}/publish | Publish course | Native | W | Path identifier | CourseDto | Filtered | None | None | T | TE |
| 7 | POST | /training/courses/{id}/archive | Archive course | Native | W | Path identifier | CourseDto | Filtered | None | None | T | TE |
| 8 | GET | /training/import-export/templates/courses | Course import template | Native | R | None | CSV file | None | None | None | T | TE |
| 9 | POST | /training/import-export/courses | Import courses | Native | W | CsvImportDto | ImportResultDto | Required | None | None | T | TE |
| 10 | GET | /training/import-export/courses/export | Export courses | Native | R | None | CSV file | Filtered | None | None | T | TE |
| 11 | GET | /training/import-export/templates/enrollments | Enrollment import template | Native | R | None | CSV file | None | None | None | T | TE |
| 12 | POST | /training/import-export/enrollments | Import enrollments | Native | W | CsvImportDto | ImportResultDto | Required | None | None | T | TE |
| 13 | GET | /training/import-export/enrollments/export | Export enrollments | Native | R | None | CSV file | Filtered | None | None | T | TE |
| 14 | GET | /training/import-export/certificates/export | Export certificates | Native | R | None | CSV file | Filtered | None | None | T | TE |
| 15 | GET | /training/import-export/assessment-results/export | Export assessment results | Native | R | None | CSV file | Filtered | None | None | T | TE |
| 16 | GET | /training/courses/{id}/materials | List materials | Native | R | Path identifier | TrainingMaterialDto collection | Filtered | None | None | T | TE |
| 17 | POST | /training/courses/{id}/materials | Store material | Native | W | CreateTrainingMaterialDto | TrainingMaterialDto | Required | None | Document Service | T | TE |
| 18 | GET | /training/materials/{id}/download | Download material | Native | R | Path identifier | Binary file | Filtered | None | Document Service | T | TE |
| 19 | DELETE | /training/materials/{id} | Delete material reference | Native | W | Path identifier | Message projection | Filtered | None | None | T | TE |
| 20 | GET | /training/learning-paths | List learning paths | Native | R | None | LearningPathDto collection | Filtered | None | None | T | TE |
| 21 | POST | /training/learning-paths | Create learning path | Native | W | CreateLearningPathDto | LearningPathDto | Required | None | None | T | TE |
| 22 | GET | /training/enrollments | List enrollments | Native | R | None | EnrollmentDto collection | Filtered | None | None | T | TE |
| 23 | GET | /training/enrollments/{id} | Enrollment detail | Native | R | Path identifier | EnrollmentDto | Filtered | None | None | T | TE |
| 24 | POST | /training/enrollments | Assign course | Native | W | CreateEnrollmentDto | EnrollmentDto | Required | None | None | T | TE |
| 25 | POST | /training/enrollments/{id}/start | Start enrollment | Native | W | Path identifier | EnrollmentDto | Filtered | None | None | T | TE |
| 26 | POST | /training/enrollments/{id}/complete | Complete enrollment | Native | W | CompleteEnrollmentDto optional | EnrollmentDto | Filtered | None | None | T | TE |
| 27 | GET | /training/assessments | List assessments | Native | R | None | AssessmentDto collection | Filtered | None | None | T | TE |
| 28 | POST | /training/assessments | Create assessment | Native | W | CreateAssessmentDto | AssessmentDto | Required | None | None | T | TE |
| 29 | POST | /training/assessments/{id}/attempts | Start attempt | Native | W | CreateAttemptDto | AttemptDto | Filtered | None | None | T | TE |
| 30 | POST | /training/attempts/{id}/submit | Submit attempt | Native | W | SubmitAttemptDto | AttemptDto | Filtered | None | None | T | TE |
| 31 | GET | /training/certificates | List certificates | Native | R | None | CertificateDto collection | Filtered | None | None | T | TE |
| 32 | POST | /training/certificates/{id}/issue | Issue certificate | Native | W | IssueCertificateDto optional | CertificateDto | Filtered | None | None | T | TE |
| 33 | POST | /training/certificates/{id}/generate-document | Generate certificate file | Native | W | GenerateCertificateDocumentDto optional | CertificateDto | Required | None | Document Service | T | TE |
| 34 | GET | /training/certificates/{id}/download | Download certificate file | Native | R | Path identifier | Binary file | Filtered | None | Document Service | T | TE |
| 35 | GET | /training/sessions | List sessions | Native | R | None | SessionDto collection | Filtered | None | None | T | TE |
| 36 | POST | /training/sessions | Create session | Native | W | CreateSessionDto | SessionDto | Required | None | None | T | TE |
| 37 | POST | /training/sessions/{id}/reschedule | Reschedule session | Native | W | RescheduleSessionDto | SessionDto | Filtered | None | None | T | TE |
| 38 | GET | /training/reports/dashboard | Training dashboard | Native | R | None | Anonymous report composition | Filtered | None | None | T | TE |
| 39 | GET | /training/reports/courses | Course report | Native | R | None | CourseReportDto | Filtered | None | None | T | TE |
| 40 | GET | /training/reports/enrollments | Enrollment report | Native | R | None | EnrollmentReportDto | Filtered | None | None | T | TE |
| 41 | GET | /training/reports/assessments | Assessment report | Native | R | None | AssessmentReportDto | Filtered | None | None | T | TE |
| 42 | GET | /training/reports/certificates | Certificate report | Native | R | None | CertificateReportDto | Filtered | None | None | T | TE |
| 43 | GET | /training/reports/learning-paths | Learning-path report | Native | R | None | LearningPathReportDto | Filtered | None | None | T | TE |
| 44 | GET | /training/reports/managers/{managerId} | Subject training summary | Native | R | Path integer | ManagerTrainingReportDto | Filtered | None | None | T | TE |
| 45 | GET | /training/audit | Audit evidence | Native | R | Optional limit query | Audit entity collection | Filtered | None | None | F | TE |
| 46 | GET | /training/timeline | Timeline evidence | Native | R | Optional limit query | Timeline entity collection | Filtered | None | None | F | TE |
| 47 | GET | /training/outbox | Outbox diagnostics | Native | R | Optional limit query | Outbox entity collection | Filtered | None | None | F | TE |
| 48 | GET | /ess/training | ESS training proxy | Gateway | R | Request context | Gateway module result | Forwarded | Gateway middleware; no route policy | Training Service | T | ESS |
| 49 | GET | /ess/dashboard | ESS composed dashboard | Gateway | R | Request context | Anonymous composed result | Forwarded | Gateway middleware; no route policy | Training and other services | T | ESS |
Source key
- P —
microservices/src/training-service/Program.csandmicroservices/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.csmicroservices/src/training-service/Api/TrainingEndpoints.csmicroservices/src/gateway-api/EssEndpoints.csmicroservices/src/shared-kernel/Extensions/EndpointRouteBuilderExtensions.cs
Related Articles
See Also
Keywords
- LMS API
- Training Service
- Source-backed contract
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly