Skip to main content

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​

CapabilityConfirmed behavior
List/detailTenant-filtered collection and identifier detail
AssignRequires an existing Published course; creates Assigned enrollment
StartOnly Assigned can become InProgress
CompleteAssigned or InProgress can become Completed; creates completion evidence
Cancel/expireNo 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.cs
  • microservices/src/training-service/Infrastructure/TrainingDbContext.cs
  • microservices/src/training-service/Domain/TrainingEntities.cs
  • microservices/src/training-service/Infrastructure/Persistence.cs

See Also​

Keywords​

  • LMS API
  • Training Service
  • Source-backed contract

Revision Information​

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