Course Schema
Felder
Course Schema
Schema for validating course entities in the Academy/LMS module
title
Course title
description
Course description
category
Course category
trainingCode
Optional internal training code/identifier (free text, intern/extern)
averageRating
Denormalised mean of completion-feedback ratings (1–5), null if none yet (WP-B).
ratingCount
Number of completion-feedback ratings received (WP-B).
npsScore
Derived NPS (-100..100) from completion-feedback recommendation scores (WP-B).
lastRatingAt
Timestamp of the most recent completion feedback (WP-B).
courseMaterials
Course-level materials visible to all enrolled participants (WP-C).
title
description
sortOrder
mimeType
sizeBytes
uploadedAt
courseInternalDocuments
Internal course documents visible only to instructors/admins (WP-C).
title
description
sortOrder
mimeType
sizeBytes
uploadedAt
lessons
Array of lesson IDs
isPublished
Whether the course is published and visible to students
duration
Course duration in minutes
level
Course difficulty level
beginnerintermediateadvancedauthorId
ID of the course author/instructor
maxEnrollments
Maximum number of students that can enroll
requiresEnrollmentApproval
When true, self-enrollment requires the team lead to approve before the enrollment becomes active (WP-D).
prerequisites
Array of prerequisite course IDs
skillRequirements
Recommended skills (with minimum level) before enrolling. Advisory only — enrollment is not blocked, the learner is warned (WP-A).
minimumLevel
BEGINNERINTERMEDIATEADVANCEDEXPERTskillId
Linked skill definition UUID — the employee skill that is auto-upgraded on course completion (WP-A, ADR 0272). Acts as the fallback for self-enrollments that carry no training_assignment.skillId.
certificateTemplateId
ID of the certificate template for completion
price
Course price (0 for free courses)
tags
Course tags for categorization and search
isSystemCourse
System-managed course that bypasses module licensing
targetAudience
Target audience for this course (e.g. technicians, sales, new employees)
gradingEnabled
Whether grading/gradebook is enabled for this course
passingScore
Minimum score percentage required to pass the course
certificateMode
How certificates are issued: auto on completion, manual by instructor, or none
automanualnonecompletionMode
How course completion is determined
all_unitspercentagemanualcompletionPercent
Percentage of units required for completion (if completionMode=percentage)
courseType
Course type for special handling (e.g. uvv_training links to fleet module)
generaluvv_trainingonboardingcompliancecoverImageFileId
File ID of the course cover image
contentVersion
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.
contentVersionPublishedAt
When the current contentVersion was published.
Keine Felder passen zum Filter.
Standard-Endpoints
Diese Resource folgt dem generischen CRUD-Vertrag der Plattform. Lesen Sie die Konventionen für Pagination, Idempotenz, Optimistic Locking und Audit. Die wichtigsten Endpoints:
GET /api/v1/courses— Liste, paginiert + filterbarGET /api/v1/courses/<id>— Einzelne EntityPOST /api/v1/courses— AnlegenPATCH /api/v1/courses/<id>— Teil-UpdateDELETE /api/v1/courses/<id>— Soft-DeleteGET /api/v1/courses/<id>/timeline— Audit + Aktivitäten