Skip to main content
This page covers the public structures of learning-related objects: course, courseProgress, courseLesson, courseLessonPractice, courseLessonPracticeAttempt. They are returned by the course methods and in webhooks (CourseCompleted, CourseProgressChanged, CourseLessonPracticeCompleted).
The course/list/raw method returns a compact projection (courseId, productId, name, type, groupIds). The full public entity schemas are below.

course

Returned by course/create, course/:courseId/update, course/:courseId/get and in course webhooks.
integer
required
Course ID.
enum
required
Type: Bundle, Webinar, TextCourse, Assessment, VideoCourse, PersonalLesson.
integer | null
ID of the product through which the course is sold and access to it is granted.
integer | null
Content category ID. Reserved: not filled in the response in the current version.
enum
required
Course build state: Ready — the course is ready (the default); AiGenerating — the course is still being assembled by the AI course wizard; such a course is hidden from everyone except its author.
string
required
Name.
string
required
Description.
string | null
Text alias.
string[]
required
Tags.
string[]
required
SEO tags.
object | null
Images: { main } — URL of the main course image.
string | null
Promo video.
object
required
Course settings (arbitrary object).
integer
required
Sort order.
boolean | null
Whether the course is a bundle.
string
required
Creation date (ISO 8601).
string
required
Update date (ISO 8601).
string | null
Archiving date or null.

courseProgress

Returned by the course/:courseId/progresses method. A record describes a user’s progress in a specific lesson.
integer
required
Progress record ID.
integer | null
Course ID.
integer
required
User ID.
integer
required
Lesson ID.
enum | null
Lesson status. The completion stages that are stored in the progress record (they also arrive in the CourseProgressChanged webhook):
  • NotStarted — the student has access but has not opened the lesson yet;
  • OnTheory — the student is studying the theory;
  • OnPractice — the student has opened the practice part;
  • OnReview — the assignment has been sent to the curator and is awaiting review;
  • OnCorrection — the curator has returned the assignment for revision;
  • Completed — the lesson is fully completed.
The other values describe lesson availability and are computed on the fly: NotInitialized (no progress record yet), NotParticipant, AvailableAsDemo, ExpiredByGroup, DisabledByGroup, AllowedByProgress, BlockedByProgress, StartScheduled, StartScheduledWaitPrev, BundleStartBlocked, BundleStartPendingConfirmation.
string | null
Scheduled start (ISO 8601).
string | null
Scheduled end (ISO 8601).
string | null
Practice deadline (ISO 8601).
boolean | null
The lesson is completed.
boolean | null
Under review.
string | null
Completion date (ISO 8601).
string | null
Date sent for review (ISO 8601).
object[] | null
Status history: { timestamp, status }.
string
required
Creation date (ISO 8601).
string
required
Update date (ISO 8601).
string | null
Archiving date or null.

courseLesson

integer
required
Lesson ID.
integer
required
Course ID.
enum
required
Type: Regular, Webinar.
enum
required
Access type: Demo, Participant.
string | null
Lesson status.
string
required
Name.
string
required
Description.
string | null
Preview image.
integer
required
Order.
boolean
required
Has theory content.
boolean
required
Has a practice part.
string | null
Publication date (ISO 8601).
object
required
Lesson settings.
boolean | null
Published.
string
required
Creation date (ISO 8601).
string
required
Update date (ISO 8601).
string | null
Archiving date or null.

courseLessonPractice

integer
required
Practice ID.
string | null
Name.
string
required
Description.
enum
required
Question mode: List, Sequence.
enum
required
Result mode: ResultOnly, ShowCorrect, ShowIncorrect.
enum
required
Variant mode: Random, Sequence.
enum
required
Variant mode on retry: Random, Sequence.
integer | null
Maximum number of attempts.
integer | null
Time limit (minutes).
integer | null
Deadline (days).
integer | null
Pass threshold.
integer | null
Stars per task point.
boolean
required
Answers to all tasks are required.
integer
required
Number of tasks.
string
required
Creation date (ISO 8601).
string
required
Update date (ISO 8601).
string | null
Archiving date or null.

courseLessonPracticeAttempt

Returned when exporting practice attempts and in the CourseLessonPracticeCompleted webhook.
integer
required
Attempt ID.
string | null
Attempt UUID.
integer
required
Variant ID.
integer
required
User ID.
enum | null
Status: Created, OnReview, OnCorrection, AutoVerified, Verified, Failed, Stacked.
integer
required
Attempt number.
boolean
required
The attempt is finished.
string | null
Sent for review (ISO 8601).
boolean
required
Sent after the deadline.
string | null
Deadline (ISO 8601).
string | null
Pass date (ISO 8601).
integer
required
Number of solved tasks.
integer
required
Points scored.
integer
required
Maximum points.
boolean
required
The attempt is not counted.
boolean | null
Passed.
number | null
Percentage of correct answers.
boolean | null
Overdue.
object[] | null
Status history: { timestamp, status }.
string
required
Creation date (ISO 8601).
string
required
Update date (ISO 8601).
string | null
Archiving date or null.

Updated: 2026-09-28 05:04 UTC