LearningRegular lessons

Regular lessons

Learning · 9 operations

GET

List regular schedule of a student

/api/regular-lesson/student/{id}

Recurring individual lesson rules (weekday, time, period, teacher) of one student.

list_student_regular_lessons

Path parameters · 1

idnumberrequired—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject[]9 fields
regularLessonIdnumberrequired—
dayOfWeeknumberrequired—
frequencystringrequiredOne of: WEEKLY BIWEEKLY MONTHLY
dateStartstringrequiredformat YYYY-MM-DDTHH:mm:ss
dateEndstringrequiredformat YYYY-MM-DDTHH:mm:ss
timeStartstringrequired—
timeEndstringrequired—
updatedAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
createdAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
Errors400401403429500
curl "https://your-school.rist.pro/api/regular-lesson/student/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": [
    {
      "regularLessonId": 1,
      "dayOfWeek": 0,
      "frequency": "WEEKLY",
      "dateStart": "2026-11-09T14:30:00",
      "dateEnd": "2026-11-09T14:30:00",
      "timeStart": "string",
      "timeEnd": "string",
      "updatedAt": "2026-11-09T14:30:00",
      "createdAt": "2026-11-09T14:30:00"
    }
  ]
}
GET

List regular schedule of a group

/api/regular-lesson/group/{id}

Recurring lesson rules (weekday, time, period, teacher) of one study group.

list_group_regular_lessons

Path parameters · 1

idnumberrequired—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject[]9 fields
regularLessonIdnumberrequired—
dayOfWeeknumberrequired—
frequencystringrequiredOne of: WEEKLY BIWEEKLY MONTHLY
dateStartstringrequiredformat YYYY-MM-DDTHH:mm:ss
dateEndstringrequiredformat YYYY-MM-DDTHH:mm:ss
timeStartstringrequired—
timeEndstringrequired—
updatedAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
createdAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
Errors400401403429500
curl "https://your-school.rist.pro/api/regular-lesson/group/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": [
    {
      "regularLessonId": 1,
      "dayOfWeek": 0,
      "frequency": "WEEKLY",
      "dateStart": "2026-11-09T14:30:00",
      "dateEnd": "2026-11-09T14:30:00",
      "timeStart": "string",
      "timeEnd": "string",
      "updatedAt": "2026-11-09T14:30:00",
      "createdAt": "2026-11-09T14:30:00"
    }
  ]
}
POST

Check regular schedule conflicts

/api/regular-lesson/check-conflicts

Read-only check of a would-be recurring rule against teacher work schedule, busy teacher and busy room. A section is null when the role may not run that check. Changes nothing.

check_regular_lesson_conflicts

Request body

application/json · object

teacherIdnumberrequiredmin 1
audienceIdnumberrequirednullablemin 1
daysOfWeeknumber[]required—
frequencystringrequiredOne of: WEEKLY BIWEEKLY MONTHLYdefault WEEKLY
dateStartstringrequired—
dateEndstringrequired—
timeStartstringrequired—
timeEndstringrequired—
excludeRegularLessonIdnumberWhen editing: this rule's own lessons are recreated by the update, so they are not conflicts.min 1

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject4 fields
workScheduleobjectrequirednullable3 fields
daysOfWeeknumber[]required—
datesstring[]required—
countnumberrequired—
teacherobjectrequirednullable3 fields
firstobjectrequirednullable3 fields
datestringrequired—
conflictDateTimeStartstringrequired—
conflictDateTimeEndstringrequired—
datesstring[]required—
countnumberrequired—
audienceobjectrequirednullable3 fields
firstobjectrequirednullable3 fields
datestringrequired—
conflictDateTimeStartstringrequired—
conflictDateTimeEndstringrequired—
datesstring[]required—
countnumberrequired—
totalOccurrencesnumberrequired—
Errors400401403429500
curl -X POST "https://your-school.rist.pro/api/regular-lesson/check-conflicts" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "teacherId": 1,
    "audienceId": 1,
    "daysOfWeek": [
      0
    ],
    "frequency": "WEEKLY",
    "dateStart": "string",
    "dateEnd": "string",
    "timeStart": "string",
    "timeEnd": "string",
    "excludeRegularLessonId": 1
  }'
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "workSchedule": {
      "daysOfWeek": [
        0
      ],
      "dates": [
        "string"
      ],
      "count": 0
    },
    "teacher": {
      "first": {
        "date": "string",
        "conflictDateTimeStart": "string",
        "conflictDateTimeEnd": "string"
      },
      "dates": [
        "string"
      ],
      "count": 0
    },
    "audience": {
      "first": {
        "date": "string",
        "conflictDateTimeStart": "string",
        "conflictDateTimeEnd": "string"
      },
      "dates": [
        "string"
      ],
      "count": 0
    },
    "totalOccurrences": 0
  }
}
POST

Create regular schedule for a student

/api/regular-lesson/student

Create recurring individual lessons for a student (studentId, daysOfWeek, time, period, teacher, subject, individual lesson type) and generate the lessons. Run POST /api/regular-lesson/check-conflicts first.

create_student_regular_lesson

Request body

application/json · object

studentIdnumberrequirednullablemin 1
groupIdnumberrequirednullablemin 1
teacherIdnumberrequiredmin 1
typeOfLessonIdnumberrequiredmin 1
subjectIdnumberrequiredmin 1
teachingProgramIdnumberrequirednullablemin 1
audienceIdnumberrequirednullablemin 1
daysOfWeeknumber[]required—
frequencystringrequiredOne of: WEEKLY BIWEEKLY MONTHLYdefault WEEKLY
dateStartstringrequired—
dateEndstringrequired—
timeStartstringrequired—
timeEndstringrequired—

Response · 201

application/json

statusCodenumberrequiredexample 201
messagestringrequired—
dataobject—
Errors400401403429500
curl -X POST "https://your-school.rist.pro/api/regular-lesson/student" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "studentId": 1,
    "groupId": 1,
    "teacherId": 1,
    "typeOfLessonId": 1,
    "subjectId": 1,
    "teachingProgramId": 1,
    "audienceId": 1,
    "daysOfWeek": [
      0
    ],
    "frequency": "WEEKLY",
    "dateStart": "string",
    "dateEnd": "string",
    "timeStart": "string",
    "timeEnd": "string"
  }'
Response example · 201
{
  "statusCode": 201,
  "message": "Operation completed successfully",
  "data": {}
}
POST

Create regular schedule for a group

/api/regular-lesson/group

Create recurring lessons for a group (groupId, daysOfWeek, time, period, teacher, subject, group lesson type) and generate the lessons. Run POST /api/regular-lesson/check-conflicts first.

create_group_regular_lesson

Request body

application/json · object

studentIdnumberrequirednullablemin 1
groupIdnumberrequirednullablemin 1
teacherIdnumberrequiredmin 1
typeOfLessonIdnumberrequiredmin 1
subjectIdnumberrequiredmin 1
teachingProgramIdnumberrequirednullablemin 1
audienceIdnumberrequirednullablemin 1
daysOfWeeknumber[]required—
frequencystringrequiredOne of: WEEKLY BIWEEKLY MONTHLYdefault WEEKLY
dateStartstringrequired—
dateEndstringrequired—
timeStartstringrequired—
timeEndstringrequired—

Response · 201

application/json

statusCodenumberrequiredexample 201
messagestringrequired—
dataobject—
Errors400401403429500
curl -X POST "https://your-school.rist.pro/api/regular-lesson/group" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "studentId": 1,
    "groupId": 1,
    "teacherId": 1,
    "typeOfLessonId": 1,
    "subjectId": 1,
    "teachingProgramId": 1,
    "audienceId": 1,
    "daysOfWeek": [
      0
    ],
    "frequency": "WEEKLY",
    "dateStart": "string",
    "dateEnd": "string",
    "timeStart": "string",
    "timeEnd": "string"
  }'
Response example · 201
{
  "statusCode": 201,
  "message": "Operation completed successfully",
  "data": {}
}
PUT

Update regular schedule of a group

/api/regular-lesson/group/{id}

Change one recurring rule of a group. Regenerates its lessons: untouched lessons are deleted and recreated, edited or conducted ones stay. Confirm with the user first.

update_group_regular_lesson

Path parameters · 1

idnumberrequired—

Request body

application/json · object

teacherIdnumberrequiredmin 1
typeOfLessonIdnumberrequiredmin 1
subjectIdnumberrequiredmin 1
teachingProgramIdnumberrequirednullablemin 1
audienceIdnumberrequirednullablemin 1
dayOfWeeknumberrequired—
frequencystringrequiredOne of: WEEKLY BIWEEKLY MONTHLYdefault WEEKLY
dateStartstringrequired—
dateEndstringrequired—
timeStartstringrequired—
timeEndstringrequired—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject—
Errors400401403429500
curl -X PUT "https://your-school.rist.pro/api/regular-lesson/group/1" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "teacherId": 1,
    "typeOfLessonId": 1,
    "subjectId": 1,
    "teachingProgramId": 1,
    "audienceId": 1,
    "dayOfWeek": 0,
    "frequency": "WEEKLY",
    "dateStart": "string",
    "dateEnd": "string",
    "timeStart": "string",
    "timeEnd": "string"
  }'
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {}
}
PATCH

Update regular schedule of a student

/api/regular-lesson/student/{id}

Change one recurring rule of a student. Regenerates its lessons: untouched lessons are deleted and recreated, edited or conducted ones stay. Confirm with the user first.

update_student_regular_lesson

Path parameters · 1

idnumberrequired—

Request body

application/json · object

teacherIdnumberrequiredmin 1
typeOfLessonIdnumberrequiredmin 1
subjectIdnumberrequiredmin 1
teachingProgramIdnumberrequirednullablemin 1
audienceIdnumberrequirednullablemin 1
dayOfWeeknumberrequired—
frequencystringrequiredOne of: WEEKLY BIWEEKLY MONTHLYdefault WEEKLY
dateStartstringrequired—
dateEndstringrequired—
timeStartstringrequired—
timeEndstringrequired—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject—
Errors400401403429500
curl -X PATCH "https://your-school.rist.pro/api/regular-lesson/student/1" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "teacherId": 1,
    "typeOfLessonId": 1,
    "subjectId": 1,
    "teachingProgramId": 1,
    "audienceId": 1,
    "dayOfWeek": 0,
    "frequency": "WEEKLY",
    "dateStart": "string",
    "dateEnd": "string",
    "timeStart": "string",
    "timeEnd": "string"
  }'
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {}
}
DELETE

Delete regular schedule of a student

/api/regular-lesson/student/{id}

Delete one recurring rule of a student together with its untouched lessons; edited or conducted lessons stay. Confirm with the user first.

delete_student_regular_lesson

Path parameters · 1

idnumberrequired—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataanyThe fields of data are not described yet.
Errors400401403429500
curl -X DELETE "https://your-school.rist.pro/api/regular-lesson/student/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": …
}
DELETE

Delete regular schedule of a group

/api/regular-lesson/group/{id}

Delete one recurring rule of a group together with its untouched lessons; edited or conducted lessons stay. Confirm with the user first.

delete_group_regular_lesson

Path parameters · 1

idnumberrequired—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataanyThe fields of data are not described yet.
Errors400401403429500
curl -X DELETE "https://your-school.rist.pro/api/regular-lesson/group/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": …
}