API · v1 · stabil
CODEMETA OSDeveloper Center
Konsole öffnen
Entity · courses

Course Schema

Schema-ID
course
Collection
courses
Permissions
  • Lesencourse_view
  • Anlegencourse_create
  • Änderncourse_edit
  • Löschencourse_delete

Felder

Course Schema

courses4 Permissions

Schema for validating course entities in the Academy/LMS module

titlestringerforderlich

Course title

1–200 Zeichen
descriptionstringoptional

Course description

max 2000 Zeichennullable
categorystringerforderlich

Course category

1–100 Zeichen
trainingCodestringoptional

Optional internal training code/identifier (free text, intern/extern)

max 50 Zeichennullable
averageRatingnumberoptional

Denormalised mean of completion-feedback ratings (1–5), null if none yet (WP-B).

0 – 5nullable
ratingCountnumberoptional

Number of completion-feedback ratings received (WP-B).

≥ 0nullable
npsScorenumberoptional

Derived NPS (-100..100) from completion-feedback recommendation scores (WP-B).

-100 – 100nullable
lastRatingAtdatetimeoptional

Timestamp of the most recent completion feedback (WP-B).

nullable
courseMaterialsobject[]optional

Course-level materials visible to all enrolled participants (WP-C).

nullable
idstringerforderlich
fileIdstringerforderlich
titlestringerforderlich
1–300 Zeichen
descriptionstringoptional
max 500 Zeichennullable
sortOrdernumberoptional
nullable
mimeTypestringoptional
max 200 Zeichennullable
sizeBytesnumberoptional
nullable
uploadedAtdatetimeoptional
nullable
courseInternalDocumentsobject[]optional

Internal course documents visible only to instructors/admins (WP-C).

nullable
idstringerforderlich
fileIdstringerforderlich
titlestringerforderlich
1–300 Zeichen
descriptionstringoptional
max 500 Zeichennullable
sortOrdernumberoptional
nullable
mimeTypestringoptional
max 200 Zeichennullable
sizeBytesnumberoptional
nullable
uploadedAtdatetimeoptional
nullable
lessonsstring[]optional

Array of lesson IDs

nullable
isPublishedbooleanerforderlich

Whether the course is published and visible to students

durationnumbererforderlich

Course duration in minutes

≥ 1
levelstringerforderlich

Course difficulty level

beginnerintermediateadvanced
authorIdstringoptional

ID of the course author/instructor

nullable
maxEnrollmentsnumberoptional

Maximum number of students that can enroll

≥ 1nullable
requiresEnrollmentApprovalbooleanoptional

When true, self-enrollment requires the team lead to approve before the enrollment becomes active (WP-D).

nullable
prerequisitesstring[]optional

Array of prerequisite course IDs

nullable
skillRequirementsobject[]optional

Recommended skills (with minimum level) before enrolling. Advisory only — enrollment is not blocked, the learner is warned (WP-A).

nullable
skillIdstringerforderlich
minimumLevelstringerforderlich
BEGINNERINTERMEDIATEADVANCEDEXPERT
skillIduuidoptional

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.

nullable
certificateTemplateIdstringoptional

ID of the certificate template for completion

nullable
pricenumberoptional

Course price (0 for free courses)

≥ 0nullable
tagsstring[]optional

Course tags for categorization and search

nullable
isSystemCoursebooleanoptional

System-managed course that bypasses module licensing

nullable
targetAudiencestringoptional

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

max 500 Zeichennullable
gradingEnabledbooleanoptional

Whether grading/gradebook is enabled for this course

nullable
passingScorenumberoptional

Minimum score percentage required to pass the course

0 – 100nullable
certificateModestringoptional

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

automanualnone
nullable
completionModestringoptional

How course completion is determined

all_unitspercentagemanual
nullable
completionPercentnumberoptional

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

0 – 100nullable
courseTypestringoptional

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

generaluvv_trainingonboardingcompliance
nullable
coverImageFileIdstringoptional

File ID of the course cover image

nullable
contentVersionintegeroptional

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
contentVersionPublishedAtdatetimeoptional

When the current contentVersion was published.

Default: nullnullable

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 + filterbar
  • GET /api/v1/courses/<id> — Einzelne Entity
  • POST /api/v1/courses — Anlegen
  • PATCH /api/v1/courses/<id> — Teil-Update
  • DELETE /api/v1/courses/<id> — Soft-Delete
  • GET /api/v1/courses/<id>/timeline — Audit + Aktivitäten

Suche