Learning Unit Schema
Felder
Learning Unit Schema
Schema for individual learning units within a course section
lessonId
ID of the parent lesson/section (Lektion)
courseId
ID of the parent course (denormalized)
title
Learning unit title
type
Type of learning unit content
videotextquizexamfile_uploadltih5pslidesorder
Position within the parent section
isPreview
Whether unit can be accessed without enrollment
isPublished
Whether the unit is visible to students
content
TipTap JSON content for text units
videoUrl
URL of the video
videoProvider
Video hosting provider
uploadyoutubevimeoexternalbunnyvideoDurationSecs
Total video duration in seconds
bunnyVideoId
BunnyCDN Stream video GUID (source of truth for provider "bunny"; playback URL is signed per-request)
bunnyStatus
BunnyCDN Stream processing status for UI feedback
uploadingprocessingreadyerrorquestionPoolId
ID of the question pool to draw from
questionCount
Number of questions to draw randomly from pool
timeLimitSecs
Time limit in seconds (0 = no limit)
passingScore
Minimum score percentage to pass (0-100)
maxAttempts
Maximum number of attempts (null = unlimited)
shuffleQuestions
Whether to shuffle question order
shuffleOptions
Whether to shuffle answer options
showCorrectAfter
Whether to show correct answers after submission
isGraded
Whether this unit counts toward gradebook/certificate (default: true for exam, false for quiz)
isRequiredForCompletion
Whether this unit must be completed for course completion (default: true for exam, false for quiz)
embeddedQuestions
Inline quiz questions (alternative to question pool)
_id
question
type
multiple_choicemultiple_responsetrue_falsefill_blankdropdown_blankmatchingorderingshort_textpoints
explanation
mediaUrl
orderItems
difficulty
easymediumhardgradingRubric
aiPrompt
tags
gradingMethod
How to calculate final grade from multiple attempts (default: highest)
highestaveragefirstlastavailableFrom
Quiz opens at this time (ISO 8601)
availableUntil
Quiz closes at this time (ISO 8601)
lateSubmissionPolicy
What happens if submitted after availableUntil (default: none)
noneallow_with_penaltylateSubmissionPenalty
Percentage deducted for late submission (e.g., 20 = -20%)
reviewOptions
Granular review options per time window. Overrides showCorrectAfter when set.
immediatelyAfter
afterClose
attemptCooldownMins
Minimum minutes to wait between attempts
attemptPenaltyPercent
Percentage deducted per subsequent attempt (e.g., 10 = attempt 2 loses 10%, attempt 3 loses 20%)
uploadInstructions
Instructions for file upload assignment
allowedFileTypes
Allowed MIME types for uploads
maxFileSizeMb
Maximum file size in MB
ltiToolId
ID of the registered LTI tool (lti_tools collection)
ltiCustomParams
Custom parameters for this unit (merged with tool-level defaults)
ltiOpenInNewTab
Open the tool in a new tab instead of an inline iframe
ltiPassingScore
Minimum AGS score (0–100) required to auto-complete this unit
h5pFileId
ID of the uploaded .h5p file in files collection
h5pContentPath
URL path to the extracted H5P content (set by worker after extraction)
h5pPassingScore
Minimum xAPI score (0–100) required to auto-complete this unit
requirements
Completion requirements for this unit
minScore
videoMinPercent
textMinTimeSecs
textScrollPercent
slidesViewedPercent
fileUploadRequired
manualApprovalRequired
slides
Ordered slides shown one at a time (type: slides)
id
kind
htmlwidgetcheckpointtitle
html
widgetId
eyebrow
question
_id
question
type
multiple_choicemultiple_responsetrue_falsefill_blankdropdown_blankmatchingorderingshort_textpoints
explanation
mediaUrl
orderItems
difficulty
easymediumhardgradingRubric
aiPrompt
tags
notes
aiReviewEnabled
Whether AI review is enabled for file upload submissions
aiReviewPrompt
Custom AI prompt for reviewing file submissions
aiReviewRubric
Grading rubric for AI review of file submissions
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/learning_units— Liste, paginiert + filterbarGET /api/v1/learning_units/<id>— Einzelne EntityPOST /api/v1/learning_units— AnlegenPATCH /api/v1/learning_units/<id>— Teil-UpdateDELETE /api/v1/learning_units/<id>— Soft-DeleteGET /api/v1/learning_units/<id>/timeline— Audit + Aktivitäten