LearningGroups

Groups

Learning · 4 operations

GET

List groups

/api/group

Study groups with filters and pagination. studentsCount is the number of active students; studentsCountFrom/studentsCountTo filter by it (empty groups count as 0).

list_groups

Query parameters · 23

pagenumbermin 1 · default 1
pageSizenumber1–250 · default 20
sortBystringOne of: status nameOfGroup teacher levelOfKnowledge
sortOrderstringOne of: ASC DESC
groupIdsnumber[]—
statusOfGroupIdnumberrequired—
statusOfGroupIdsnumber[]—
nameOfGroupstringrequiredlength max 150
Show 15 more
descriptionstringrequired—
teacherIdnumberrequired—
teacherIdsnumber[]—
levelOfKnowledgeIdnumberrequired—
levelOfKnowledgeIdsnumber[]—
classOfStudentIdsnumber[]—
subjectIdsnumber[]—
typeOfLessonIdsnumber[]—
dateStartstringrequiredformat YYYY-MM-DDTHH:mm:ss
dateEndstringrequiredformat YYYY-MM-DDTHH:mm:ss
notestringrequired—
isArchivalobjectrequireddefault false
studentsCountFromnumberAt least this many active students.
studentsCountTonumberAt most this many active students; empty groups included.
cfstring[]—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject4 fields
totalnumberrequired—
totalPagesnumberrequired—
currentPagenumberrequired—
groupsobject[]required14 fields
groupIdnumberrequired—
nameOfGroupstringrequired—
descriptionstringrequirednullable—
limitOfStudentsnumberrequired—
dateStartstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
dateEndstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
notestringrequirednullable—
avatarUrlstringrequirednullable—
isArchivalbooleanrequired—
updatedAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
createdAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
regularLessonsobject[]required3 fields
dayOfWeeknumberrequired—
timeStartstringrequired—
timeEndstringrequired—
studentsCountnumberActive students; absent when the role cannot see group students.
customFieldsobjectCustom field values; the table row shows the columns chosen in the preset.any keys
Errors400401403429500
curl "https://your-school.rist.pro/api/group" \
  -H "Authorization: Bearer $RIST_API_KEY"
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "total": 0,
    "totalPages": 0,
    "currentPage": 0,
    "groups": [
      {
        "groupId": 1,
        "nameOfGroup": "string",
        "description": "string",
        "limitOfStudents": 0,
        "dateStart": "2026-11-09T14:30:00",
        "dateEnd": "2026-11-09T14:30:00",
        "note": "string",
        "avatarUrl": "string",
        "isArchival": false,
        "updatedAt": "2026-11-09T14:30:00",
        "createdAt": "2026-11-09T14:30:00",
        "regularLessons": [
          {
            "dayOfWeek": 0,
            "timeStart": "string",
            "timeEnd": "string"
          }
        ],
        "studentsCount": 0,
        "customFields": {}
      }
    ]
  }
}
GET

Get group

/api/group/{id}

One study group with its students and teachers.

get_group

Path parameters · 1

idnumberrequired—

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject12 fields
groupIdnumberrequired—
nameOfGroupstringrequired—
descriptionstringrequirednullable—
limitOfStudentsnumberrequired—
dateStartstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
dateEndstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
notestringrequirednullable—
avatarUrlstringrequirednullable—
isArchivalbooleanrequired—
updatedAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
createdAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
customFieldsobjectany keys
Errors400401403429500
curl "https://your-school.rist.pro/api/group/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "groupId": 1,
    "nameOfGroup": "string",
    "description": "string",
    "limitOfStudents": 0,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "avatarUrl": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00",
    "customFields": {}
  }
}
POST

Create group

/api/group

Create a study group with teachers, subjects, lesson types, level and dates.

create_group

Request body

application/json · object

nameOfGroupstringrequiredlength 1–150
descriptionstringrequirednullablelength max 100
limitOfStudentsnumbermin 1
dateStartstringrequirednullable—
dateEndstringrequirednullable—
notestringrequirednullablelength max 1500
statusOfGroupIdnumberrequirednullablemin 1
teacherIdsnumber[]requiredmin 1
levelOfKnowledgeIdnumberrequirednullablemin 1
classOfStudentIdsnumber[]requiredmin 1
subjectIdsnumber[]requiredmin 1
typeOfLessonIdsnumber[]requiredmin 1
customFieldsobjectany keys

Response · 201

application/json

statusCodenumberrequiredexample 201
messagestringrequired—
dataobject14 fields
groupIdnumberrequired—
nameOfGroupstringrequired—
descriptionstringrequirednullable—
limitOfStudentsnumberrequired—
dateStartstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
dateEndstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
notestringrequirednullable—
avatarUrlstringrequirednullable—
isArchivalbooleanrequired—
updatedAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
createdAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
regularLessonsobject[]required3 fields
dayOfWeeknumberrequired—
timeStartstringrequired—
timeEndstringrequired—
studentsCountnumberActive students; absent when the role cannot see group students.
customFieldsobjectCustom field values; the table row shows the columns chosen in the preset.any keys
Errors400401403429500
curl -X POST "https://your-school.rist.pro/api/group" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "nameOfGroup": "string",
    "description": "string",
    "limitOfStudents": 1,
    "dateStart": "string",
    "dateEnd": "string",
    "note": "string",
    "statusOfGroupId": 1,
    "teacherIds": [
      1
    ],
    "levelOfKnowledgeId": 1,
    "classOfStudentIds": [
      1
    ],
    "subjectIds": [
      1
    ],
    "typeOfLessonIds": [
      1
    ],
    "customFields": {}
  }'
Response example · 201
{
  "statusCode": 201,
  "message": "Operation completed successfully",
  "data": {
    "groupId": 1,
    "nameOfGroup": "string",
    "description": "string",
    "limitOfStudents": 0,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "avatarUrl": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00",
    "regularLessons": [
      {
        "dayOfWeek": 0,
        "timeStart": "string",
        "timeEnd": "string"
      }
    ],
    "studentsCount": 0,
    "customFields": {}
  }
}
PATCH

Update group

/api/group/{id}

Change fields of a study group. Send only the fields to change; list fields replace the whole list.

update_group

Path parameters · 1

idnumberrequired—

Request body

application/json · object

nameOfGroupstringlength 1–150
descriptionstringnullablelength max 100
limitOfStudentsnumbermin 1
dateStartstringnullable—
dateEndstringnullable—
notestringnullablelength max 1500
statusOfGroupIdnumbernullablemin 1
teacherIdsnumber[]min 1
levelOfKnowledgeIdnumbernullablemin 1
classOfStudentIdsnumber[]min 1
subjectIdsnumber[]min 1
typeOfLessonIdsnumber[]min 1
customFieldsobjectany keys

Response · 200

application/json

statusCodenumberrequiredexample 200
messagestringrequired—
dataobject14 fields
groupIdnumberrequired—
nameOfGroupstringrequired—
descriptionstringrequirednullable—
limitOfStudentsnumberrequired—
dateStartstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
dateEndstringrequirednullableformat YYYY-MM-DDTHH:mm:ss
notestringrequirednullable—
avatarUrlstringrequirednullable—
isArchivalbooleanrequired—
updatedAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
createdAtstringrequiredformat YYYY-MM-DDTHH:mm:ss
regularLessonsobject[]required3 fields
dayOfWeeknumberrequired—
timeStartstringrequired—
timeEndstringrequired—
studentsCountnumberActive students; absent when the role cannot see group students.
customFieldsobjectCustom field values; the table row shows the columns chosen in the preset.any keys
Errors400401403429500
curl -X PATCH "https://your-school.rist.pro/api/group/1" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "nameOfGroup": "string",
    "description": "string",
    "limitOfStudents": 1,
    "dateStart": "string",
    "dateEnd": "string",
    "note": "string",
    "statusOfGroupId": 1,
    "teacherIds": [
      1
    ],
    "levelOfKnowledgeId": 1,
    "classOfStudentIds": [
      1
    ],
    "subjectIds": [
      1
    ],
    "typeOfLessonIds": [
      1
    ],
    "customFields": {}
  }'
Response example · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "groupId": 1,
    "nameOfGroup": "string",
    "description": "string",
    "limitOfStudents": 0,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "avatarUrl": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00",
    "regularLessons": [
      {
        "dayOfWeek": 0,
        "timeStart": "string",
        "timeEnd": "string"
      }
    ],
    "studentsCount": 0,
    "customFields": {}
  }
}