LMS Enrollment API
Summary
Source-backed Draft reference for LMS Enrollment API across the implemented Training Service and, where applicable, Gateway surface.
Audience
API consumers, engineering, QA, support, architecture, security, product, and implementation reviewers.
Reference Content
Operations and lifecycle
| Capability | Confirmed behavior |
|---|---|
| List/detail | Tenant-filtered collection and identifier detail |
| Assign | Requires an existing Published course; creates Assigned enrollment |
| Start | Only Assigned can become InProgress |
| Complete | Assigned or InProgress can become Completed; creates completion evidence |
| Cancel/expire | No endpoint |
Assignment, start, and completion stage corresponding outbox intent and write audit/timeline evidence. Duplicate course/employee assignment is protected by persistence uniqueness, but the endpoint does not preflight or map that conflict explicitly. A learning-path reference is accepted without progression enforcement.
Completion accepts a result value, creates one completion record per enrollment, and does not require a passed assessment or issue a certificate in the same endpoint. The create request accepts an employee identifier, but no employee existence, eligibility, hierarchy, or authenticated ownership check was found.
Confirmed statuses are 200/201 success, 404 missing enrollment/course, 409 invalid course/enrollment lifecycle, and 400 for required tenant/domain-value failures.
Source References
microservices/src/training-service/Api/TrainingEndpoints.csmicroservices/src/training-service/Infrastructure/TrainingDbContext.csmicroservices/src/training-service/Domain/TrainingEntities.csmicroservices/src/training-service/Infrastructure/Persistence.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