API · v1 · stabil
CODEMETA OS Developer Center
Konsole öffnen
Module

LMS

Das LMS verwaltet Schulungen für Mitarbeitende und (mit dazu lizensierter Academy-Lizenz) für Endkunden. Inhalte sind hierarchisch: Kurs → Lektion → Lerneinheit / Quiz. Zusätzlich gibt es Bezahl-Funktionen über Vouchers und Charges.

Resources

ResourcePfadPermission-PräfixSequenz
Kurse/api/v1/coursescourseCRS-
Lektionen/api/v1/lessonslessonLSN-
Lerneinheiten/api/v1/learning_unitslearning_unit
Quiz-Versuche/api/v1/quiz_attemptsquiz_attempt
Anmeldungen/api/v1/enrollmentsenrollment
Fortschritt/api/v1/student_progressstudent_progress
Charges (Bezahlung)/api/v1/course_chargescourse_charge
Vouchers/api/v1/course_voucherscourse_voucher
Cross-Tenant-Shares/api/v1/course_sharescourse_share

Quiz-Fragen, Antworten und Materialien liegen als typisierte Felder direkt am lesson bzw. learning_unit-Datensatz.

Schemas

Course

courses4 Permissions

Schema for validating course entities in the Academy/LMS module

title string erforderlich

Course title

1–200 Zeichen
description string optional

Course description

max 2000 Zeichennullable
category string erforderlich

Course category

1–100 Zeichen
lessons string[] optional

Array of lesson IDs

nullable
isPublished boolean erforderlich

Whether the course is published and visible to students

duration number erforderlich

Course duration in minutes

≥ 1
level string erforderlich

Course difficulty level

beginnerintermediateadvanced
authorId string optional

ID of the course author/instructor

nullable
maxEnrollments number optional

Maximum number of students that can enroll

≥ 1nullable
prerequisites string[] optional

Array of prerequisite course IDs

nullable
certificateTemplateId string optional

ID of the certificate template for completion

nullable
price number optional

Course price (0 for free courses)

≥ 0nullable
tags string[] optional

Course tags for categorization and search

nullable
isSystemCourse boolean optional

System-managed course that bypasses module licensing

nullable
targetAudience string optional

Target audience for this course (e.g. technicians, sales, new employees)

max 500 Zeichennullable
gradingEnabled boolean optional

Whether grading/gradebook is enabled for this course

nullable
passingScore number optional

Minimum score percentage required to pass the course

0 – 100nullable
certificateMode string optional

How certificates are issued: auto on completion, manual by instructor, or none

automanualnone
nullable
completionMode string optional

How course completion is determined

all_unitspercentagemanual
nullable
completionPercent number optional

Percentage of units required for completion (if completionMode=percentage)

0 – 100nullable
courseType string optional

Course type for special handling (e.g. uvv_training links to fleet module)

generaluvv_trainingonboardingcompliance
nullable
coverImageFileId string optional

File ID of the course cover image

nullable
contentVersion integer optional

Monotonic content version. Bumped via `POST /courses/:id/publish-version` when the author releases a substantive content change so in-flight enrollees can see "course was updated since you started" prompts.

≥ 1Default: 1
contentVersionPublishedAt datetime optional

When the current contentVersion was published.

Default: nullnullable

Custom-Endpoints (/api/v1/lms-player/...)

Der Lerner-Player bündelt eine Sicht zum Durchgehen eines Kurses:

OperationHinweis
GET /api/v1/lms-player/courses/<courseId>/stateAktueller Stand des Lernenden
POST /api/v1/lms-player/lessons/<id>/completeLektion abgeschlossen markieren
POST /api/v1/lms-player/quizzes/<id>/submitQuiz-Antworten einreichen, Ergebnis
GET /api/v1/lms-player/certificates/<courseId>Zertifikat (PDF) holen

Cross-Tenant-Sharing

Analog zur KB-Cross-Tenant-Funktion gibt es course_shares. MSPs teilen Kurse mit Customer-Tenants. Customer-Tenants brauchen eine eigene Academy-Lizenz, um geteilte Kurse zu sehen.

Verwandt

Suche