Regular lessons
Learning · 9 операцій
/api/regular-lesson/student/{id}GETList regular schedule of a group/api/regular-lesson/group/{id}POSTCheck regular schedule conflicts/api/regular-lesson/check-conflictsPOSTCreate regular schedule for a student/api/regular-lesson/studentPOSTCreate regular schedule for a group/api/regular-lesson/groupPUTUpdate regular schedule of a group/api/regular-lesson/group/{id}PATCHUpdate regular schedule of a student/api/regular-lesson/student/{id}DELETEDelete regular schedule of a student/api/regular-lesson/student/{id}DELETEDelete regular schedule of a group/api/regular-lesson/group/{id}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
Параметри шляху · 1
id—Відповідь · 200
application/json
statusCodeприклад 200message—data9 полів
regularLessonId—dayOfWeek—frequencyОдне з: WEEKLY BIWEEKLY MONTHLYdateStartформат YYYY-MM-DDTHH:mm:ssdateEndформат YYYY-MM-DDTHH:mm:sstimeStart—timeEnd—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscurl "https://your-school.rist.pro/api/regular-lesson/student/1" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/regular-lesson/student/1", {
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
},
});
const { data } = await response.json();import os
import requests
response = requests.get(
"https://your-school.rist.pro/api/regular-lesson/student/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
)
response.raise_for_status()
data = response.json()["data"]{
"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"
}
]
}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
Параметри шляху · 1
id—Відповідь · 200
application/json
statusCodeприклад 200message—data9 полів
regularLessonId—dayOfWeek—frequencyОдне з: WEEKLY BIWEEKLY MONTHLYdateStartформат YYYY-MM-DDTHH:mm:ssdateEndформат YYYY-MM-DDTHH:mm:sstimeStart—timeEnd—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscurl "https://your-school.rist.pro/api/regular-lesson/group/1" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/regular-lesson/group/1", {
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
},
});
const { data } = await response.json();import os
import requests
response = requests.get(
"https://your-school.rist.pro/api/regular-lesson/group/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
)
response.raise_for_status()
data = response.json()["data"]{
"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"
}
]
}Check regular schedule conflicts
/api/regular-lesson/check-conflictsRead-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
Тіло запиту
application/json · object
teacherIdмін. 1audienceIdмін. 1daysOfWeek—frequencyОдне з: WEEKLY BIWEEKLY MONTHLYза замовчуванням WEEKLYdateStart—dateEnd—timeStart—timeEnd—excludeRegularLessonIdWhen editing: this rule's own lessons are recreated by the update, so they are not conflicts.мін. 1Відповідь · 200
application/json
statusCodeприклад 200message—data4 поля
workSchedule3 поля
daysOfWeek—dates—count—teacher3 поля
first3 поля
date—conflictDateTimeStart—conflictDateTimeEnd—dates—count—audience3 поля
first3 поля
date—conflictDateTimeStart—conflictDateTimeEnd—dates—count—totalOccurrences—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
}'const response = await fetch("https://your-school.rist.pro/api/regular-lesson/check-conflicts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"teacherId": 1,
"audienceId": 1,
"daysOfWeek": [
0
],
"frequency": "WEEKLY",
"dateStart": "string",
"dateEnd": "string",
"timeStart": "string",
"timeEnd": "string",
"excludeRegularLessonId": 1
}),
});
const { data } = await response.json();import os
import requests
response = requests.post(
"https://your-school.rist.pro/api/regular-lesson/check-conflicts",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"teacherId": 1,
"audienceId": 1,
"daysOfWeek": [
0
],
"frequency": "WEEKLY",
"dateStart": "string",
"dateEnd": "string",
"timeStart": "string",
"timeEnd": "string",
"excludeRegularLessonId": 1
},
)
response.raise_for_status()
data = response.json()["data"]{
"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
}
}Create regular schedule for a student
/api/regular-lesson/studentCreate 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
Тіло запиту
application/json · object
studentIdмін. 1groupIdмін. 1teacherIdмін. 1typeOfLessonIdмін. 1subjectIdмін. 1teachingProgramIdмін. 1audienceIdмін. 1daysOfWeek—frequencyОдне з: WEEKLY BIWEEKLY MONTHLYза замовчуванням WEEKLYdateStart—dateEnd—timeStart—timeEnd—Відповідь · 201
application/json
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"
}'const response = await fetch("https://your-school.rist.pro/api/regular-lesson/student", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"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"
}),
});
const { data } = await response.json();import os
import requests
response = requests.post(
"https://your-school.rist.pro/api/regular-lesson/student",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"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.raise_for_status()
data = response.json()["data"]{
"statusCode": 201,
"message": "Operation completed successfully",
"data": {}
}Create regular schedule for a group
/api/regular-lesson/groupCreate 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
Тіло запиту
application/json · object
studentIdмін. 1groupIdмін. 1teacherIdмін. 1typeOfLessonIdмін. 1subjectIdмін. 1teachingProgramIdмін. 1audienceIdмін. 1daysOfWeek—frequencyОдне з: WEEKLY BIWEEKLY MONTHLYза замовчуванням WEEKLYdateStart—dateEnd—timeStart—timeEnd—Відповідь · 201
application/json
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"
}'const response = await fetch("https://your-school.rist.pro/api/regular-lesson/group", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"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"
}),
});
const { data } = await response.json();import os
import requests
response = requests.post(
"https://your-school.rist.pro/api/regular-lesson/group",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"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.raise_for_status()
data = response.json()["data"]{
"statusCode": 201,
"message": "Operation completed successfully",
"data": {}
}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
Параметри шляху · 1
id—Тіло запиту
application/json · object
teacherIdмін. 1typeOfLessonIdмін. 1subjectIdмін. 1teachingProgramIdмін. 1audienceIdмін. 1dayOfWeek—frequencyОдне з: WEEKLY BIWEEKLY MONTHLYза замовчуванням WEEKLYdateStart—dateEnd—timeStart—timeEnd—Відповідь · 200
application/json
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"
}'const response = await fetch("https://your-school.rist.pro/api/regular-lesson/group/1", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"teacherId": 1,
"typeOfLessonId": 1,
"subjectId": 1,
"teachingProgramId": 1,
"audienceId": 1,
"dayOfWeek": 0,
"frequency": "WEEKLY",
"dateStart": "string",
"dateEnd": "string",
"timeStart": "string",
"timeEnd": "string"
}),
});
const { data } = await response.json();import os
import requests
response = requests.put(
"https://your-school.rist.pro/api/regular-lesson/group/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"teacherId": 1,
"typeOfLessonId": 1,
"subjectId": 1,
"teachingProgramId": 1,
"audienceId": 1,
"dayOfWeek": 0,
"frequency": "WEEKLY",
"dateStart": "string",
"dateEnd": "string",
"timeStart": "string",
"timeEnd": "string"
},
)
response.raise_for_status()
data = response.json()["data"]{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {}
}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
Параметри шляху · 1
id—Тіло запиту
application/json · object
teacherIdмін. 1typeOfLessonIdмін. 1subjectIdмін. 1teachingProgramIdмін. 1audienceIdмін. 1dayOfWeek—frequencyОдне з: WEEKLY BIWEEKLY MONTHLYза замовчуванням WEEKLYdateStart—dateEnd—timeStart—timeEnd—Відповідь · 200
application/json
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"
}'const response = await fetch("https://your-school.rist.pro/api/regular-lesson/student/1", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"teacherId": 1,
"typeOfLessonId": 1,
"subjectId": 1,
"teachingProgramId": 1,
"audienceId": 1,
"dayOfWeek": 0,
"frequency": "WEEKLY",
"dateStart": "string",
"dateEnd": "string",
"timeStart": "string",
"timeEnd": "string"
}),
});
const { data } = await response.json();import os
import requests
response = requests.patch(
"https://your-school.rist.pro/api/regular-lesson/student/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"teacherId": 1,
"typeOfLessonId": 1,
"subjectId": 1,
"teachingProgramId": 1,
"audienceId": 1,
"dayOfWeek": 0,
"frequency": "WEEKLY",
"dateStart": "string",
"dateEnd": "string",
"timeStart": "string",
"timeEnd": "string"
},
)
response.raise_for_status()
data = response.json()["data"]{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {}
}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
Параметри шляху · 1
id—Відповідь · 200
application/json
curl -X DELETE "https://your-school.rist.pro/api/regular-lesson/student/1" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/regular-lesson/student/1", {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
},
});
const { data } = await response.json();import os
import requests
response = requests.delete(
"https://your-school.rist.pro/api/regular-lesson/student/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
)
response.raise_for_status()
data = response.json()["data"]{
"statusCode": 200,
"message": "Operation completed successfully",
"data": …
}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
Параметри шляху · 1
id—Відповідь · 200
application/json
curl -X DELETE "https://your-school.rist.pro/api/regular-lesson/group/1" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/regular-lesson/group/1", {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
},
});
const { data } = await response.json();import os
import requests
response = requests.delete(
"https://your-school.rist.pro/api/regular-lesson/group/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
)
response.raise_for_status()
data = response.json()["data"]{
"statusCode": 200,
"message": "Operation completed successfully",
"data": …
}