Skip to content

LMS API overview

Audience: backend, frontend, qa
Status: specced
Owns: backend
Depends on: LMS overview, Lifecycle, Data model, Architecture handover

OpenAPI is the HTTP source of truth for LMS client APIs. Design SoT is ecosystem-root lms-openapi.yaml; this docs site publishes openapi/lms.yaml. Frontend must not reverse-engineer screens for endpoints.

Envelope matches Orchestrator / CAP (§19): list endpoints return { success, data: [ ... ], meta? }data is the array itself, not { items: [...] }. Pagination (when present) is only in meta.pagination.

Item Convention
Design SoT lms-openapi.yaml (ecosystem root)
Prisma outline lms-schema.prisma (ecosystem root)
Published copy openapi/lms.yaml in elimi-documentation
Interactive Scalar — LMS REST
Orchestrator auth / address / storage openapi/orchestrator.yaml
gRPC recs lms.v1.RecommendationsService in @yourorg/proto
Gateway prefix /v1/lms
Local http://localhost:4200/v1
  • Login / JWT / Address lists / Storage upload / Notifications → Orchestrator
  • Payment processing → OL InitiatePayment (LMS only exposes checkout)
  • CAP recommendations → gRPC, not public OpenAPI
Group Use Notes
Me GET /me Personas, onboarding gates, capabilities
Onboarding start / mine / get / save / submit per persona Multi-persona allowed
Catalogue published courses + outline Authenticated browse
Authoring courses, modules, items, sequencing, publish SCORM via OL packageAssetId
Instructors invites, co-instructors Platform invite only
Enrollments enroll, checkout, admin grants Entitlement sources v1
Player progress, launch, SCORM CMI lms.sequencing.locked
Assessments native quiz attempts SCORM quizzes stay inside the package
Certificates LMS-owned Independent of CAP
Staff invites, roles, enrollment lookup Staff ⊇ instructor
  1. lms_users + user.created + GET /me + onboarding
  2. Staff/instructor invites
  3. Authoring + publish + catalogue
  4. Entitlements + checkout (payment.completed)
  5. Player + sequencing + native assessments + SCORM runtime
  6. Completion policy + LMS certificate + lms.course.completed
  7. gRPC RecommendCourses (replace CAP mock)