TeachersTeachers

Teachers

Teachers · 8 операцій

GET

List teachers

/api/teacher

Teachers with filters (search, subjects, status, qualification) and pagination.

list_teachers

Параметри запиту · 25

pagenumberмін. 1 · за замовчуванням 1
pageSizenumber1–250 · за замовчуванням 20
sortBystringОдне з: status name emails phones messengers links
sortOrderstringОдне з: ASC DESC
teacherIdsnumber[]—
searchstringобовʼязковий—
firstNamestringобовʼязковий—
lastNamestringобовʼязковий—
Показати ще 17
middleNamestringобовʼязковий—
genderstringобовʼязковийОдне з: MALE FEMALE
notestringобовʼязковий—
typesOfMessengerstring[]Channels where the teacher has a connected chat; several values are OR-ed.Одне з: TELEGRAM_BOT INSTAGRAM FACEBOOK IMESSAGE
subjectIdsnumber[]—
statusOfTeacherIdnumber—
statusOfTeacherIdsnumber[]—
teacherReportStatusIdsnumber[]—
qualificationSubjectIdsnumber[]—
qualificationIdsnumber[]—
teacherLevelIdsnumber[]—
classOfStudentIdsnumber[]—
teachingProgramIdsnumber[]—
typeOfLessonIdsnumber[]—
isBirthdayTodayboolean—
isArchivalobjectобовʼязковийза замовчуванням false
cfstring[]—

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject4 поля
totalnumberобовʼязковий—
totalPagesnumberобовʼязковий—
currentPagenumberобовʼязковий—
teachersobject[]обовʼязковий16 полів
teacherIdnumberобовʼязковий—
firstNamestringобовʼязковий—
lastNamestringобовʼязковийможе бути null—
middleNamestringобовʼязковийможе бути null—
contactsobject[]обовʼязковий3 поля
typestringобовʼязковий—
valuestringобовʼязковий—
labelstringобовʼязковийможе бути null—
dateOfBirthstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
genderstringобовʼязковийОдне з: MALE FEMALE
notestringобовʼязковийможе бути null—
avatarUrlstringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
workloadobject2 поля
scheduledHoursnumberобовʼязковий—
workHoursnumberобовʼязковий—
statusobjectможе бути null3 поля
statusOfTeacherIdnumberобовʼязковий—
nameOfStatusstringобовʼязковий—
showInWorkCalendarbooleanобовʼязковий—
chatsobject[]обовʼязковийConnected chats; the table row shows their channel icons.4 поля
chatParticipantIdnumberобовʼязковий—
chatIdnumberобовʼязковий—
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
chatobjectAlways present at runtime; optional because card selects are built dynamically and TS cannot prove the nested object exists.5 полів
chatIdnumberобовʼязковий—
contactNamestringобовʼязковийможе бути null—
avatarstringобовʼязковийможе бути null—
lastMessageAtstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
messengerobjectобовʼязковий4 поля
messengerIdnumberобовʼязковий—
nameOfMessengerstringобовʼязковий—
typeOfMessengerstringобовʼязковийОдне з: TELEGRAM_BOT INSTAGRAM FACEBOOK IMESSAGE
capabilitiesobjectобовʼязковийможе бути nullWhat the channel supports; null when its adapter is not registered, so the chat is read-only.
customFieldsobjectCustom field values for the columns selected in the table preset.довільні ключі
Помилки400401403429500
curl "https://your-school.rist.pro/api/teacher" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "total": 0,
    "totalPages": 0,
    "currentPage": 0,
    "teachers": [
      {
        "teacherId": 1,
        "firstName": "string",
        "lastName": "string",
        "middleName": "string",
        "contacts": [
          {
            "type": "string",
            "value": "string",
            "label": "string"
          }
        ],
        "dateOfBirth": "2026-11-09T14:30:00",
        "gender": "MALE",
        "note": "string",
        "avatarUrl": "string",
        "isArchival": false,
        "updatedAt": "2026-11-09T14:30:00",
        "createdAt": "2026-11-09T14:30:00",
        "workload": {
          "scheduledHours": 0,
          "workHours": 0
        },
        "status": {
          "statusOfTeacherId": 1,
          "nameOfStatus": "string",
          "showInWorkCalendar": false
        },
        "chats": [
          {
            "chatParticipantId": 1,
            "chatId": 1,
            "createdAt": "2026-11-09T14:30:00",
            "chat": {
              "chatId": 1,
              "contactName": "string",
              "avatar": "string",
              "lastMessageAt": "2026-11-09T14:30:00",
              "messenger": {
                "messengerId": 1,
                "nameOfMessenger": "string",
                "typeOfMessenger": "TELEGRAM_BOT",
                "capabilities": {}
              }
            }
          }
        ],
        "customFields": {}
      }
    ]
  }
}
GET

Get teacher

/api/teacher/{id}

One teacher card with contacts, subjects and custom fields.

get_teacher

Параметри шляху · 1

idnumberобовʼязковий—

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject19 полів
teacherIdnumberобовʼязковий—
firstNamestringобовʼязковий—
lastNamestringобовʼязковийможе бути null—
middleNamestringобовʼязковийможе бути null—
contactsobject[]обовʼязковий3 поля
typestringобовʼязковий—
valuestringобовʼязковий—
labelstringобовʼязковийможе бути null—
dateOfBirthstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
genderstringобовʼязковийОдне з: MALE FEMALE
notestringобовʼязковийможе бути null—
payoutMethodstringможе бути nullPayout details; returned only with the payoutDetails field permission.Одне з: CARD IBAN CASH
payoutRecipientstringможе бути null—
payoutDetailsstringможе бути null—
payoutNotestringможе бути null—
payoutAccountobject2 поля
accountIdnumberобовʼязковий—
nameOfAccountstringобовʼязковий—
avatarUrlstringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
chatsobject[]обовʼязковий4 поля
chatParticipantIdnumberобовʼязковий—
chatIdnumberобовʼязковий—
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
chatobjectAlways present at runtime; optional because card selects are built dynamically and TS cannot prove the nested object exists.5 полів
chatIdnumberобовʼязковий—
contactNamestringобовʼязковийможе бути null—
avatarstringобовʼязковийможе бути null—
lastMessageAtstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
messengerobjectобовʼязковий4 поля
messengerIdnumberобовʼязковий—
nameOfMessengerstringобовʼязковий—
typeOfMessengerstringобовʼязковийОдне з: TELEGRAM_BOT INSTAGRAM FACEBOOK IMESSAGE
capabilitiesobjectобовʼязковийможе бути nullWhat the channel supports; null when its adapter is not registered, so the chat is read-only.
customFieldsobjectдовільні ключі
Помилки400401403429500
curl "https://your-school.rist.pro/api/teacher/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "teacherId": 1,
    "firstName": "string",
    "lastName": "string",
    "middleName": "string",
    "contacts": [
      {
        "type": "string",
        "value": "string",
        "label": "string"
      }
    ],
    "dateOfBirth": "2026-11-09T14:30:00",
    "gender": "MALE",
    "note": "string",
    "payoutMethod": "CARD",
    "payoutRecipient": "string",
    "payoutDetails": "string",
    "payoutNote": "string",
    "payoutAccount": {
      "accountId": 1,
      "nameOfAccount": "string"
    },
    "avatarUrl": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00",
    "chats": [
      {
        "chatParticipantId": 1,
        "chatId": 1,
        "createdAt": "2026-11-09T14:30:00",
        "chat": {
          "chatId": 1,
          "contactName": "string",
          "avatar": "string",
          "lastMessageAt": "2026-11-09T14:30:00",
          "messenger": {
            "messengerId": 1,
            "nameOfMessenger": "string",
            "typeOfMessenger": "TELEGRAM_BOT",
            "capabilities": {}
          }
        }
      }
    ],
    "customFields": {}
  }
}
GET

Get teacher qualifications

/api/teacher/{id}/qualifications

Qualifications of one teacher.

get_teacher_qualifications

Параметри шляху · 1

idnumberобовʼязковий—

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataanyПоля data ще не описані.
Помилки400401403429500
curl "https://your-school.rist.pro/api/teacher/1/qualifications" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": …
}
GET

Get teacher work schedule

/api/teacher/{id}/work-schedule

Working hours of one teacher by weekday (when the teacher is available for lessons).

get_teacher_work_schedule

Параметри шляху · 1

idnumberобовʼязковий—

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject—
Помилки400401403429500
curl "https://your-school.rist.pro/api/teacher/1/work-schedule" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {}
}
GET

Find free teachers for a time slot

/api/teacher/work-schedule/available

Teachers whose work schedule covers the slot (dateTimeStart/dateTimeEnd, school local time) and who have no lesson then; cancelled lessons do not count. Optional subjectIds and typeOfLessonIds keep only qualified teachers.

find_available_teachers

Параметри запиту · 4

dateTimeStartstringобовʼязковийSlot start, school local time (YYYY-MM-DDTHH:mm).
dateTimeEndstringобовʼязковийSlot end, school local time.
subjectIdsnumber[]Only teachers qualified for these subjects.
typeOfLessonIdsnumber[]Only teachers qualified for these lesson types.

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject[]—
Помилки400401403429500
curl "https://your-school.rist.pro/api/teacher/work-schedule/available?dateTimeStart=string&dateTimeEnd=string" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": [
    {}
  ]
}
GET

Teachers working on a day

/api/teacher/work-schedule/day

Teachers with working hours on a school day (date, YYYY-MM-DD): their hours and how many lessons (not cancelled) they have that day.

list_teachers_working_on_day

Параметри запиту · 2

datestringобовʼязковийSchool-local calendar day, YYYY-MM-DD.
subjectIdsnumber[]Only teachers qualified for these subjects.

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject[]—
Помилки400401403429500
curl "https://your-school.rist.pro/api/teacher/work-schedule/day?date=string" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": [
    {}
  ]
}
POST

Create teacher

/api/teacher

Create a teacher card. Look the teacher up with GET /api/teacher first to avoid duplicates.

create_teacher

Тіло запиту

application/json · object

firstNamestringобовʼязковийдовжина 1–30
lastNamestringможе бути nullдовжина макс. 30
middleNamestringобовʼязковийможе бути nullдовжина макс. 30
subjectIdsnumber[]обовʼязковиймін. 1
contactsobject[]обовʼязковий3 поля
typestringобовʼязковийОдне з: PHONE EMAIL MESSENGER URL
valuestringобовʼязковийдовжина 1–255
labelstringобовʼязковийможе бути nullдовжина макс. 50
dateOfBirthstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
genderstringобовʼязковийОдне з: MALE FEMALE
meetingLinkIdnumberобовʼязковийможе бути nullмін. 1
statusOfTeacherIdnumberобовʼязковийможе бути nullмін. 1
teacherReportStatusIdnumberобовʼязковийможе бути nullмін. 1
notestringобовʼязковийможе бути nullдовжина макс. 1500
payoutMethodstringможе бути nullОдне з: CARD IBAN CASH
payoutRecipientstringможе бути nullдовжина макс. 150
payoutDetailsstringможе бути nullдовжина макс. 100
payoutNotestringможе бути nullдовжина макс. 500
payoutAccountIdnumberможе бути nullSchool account the salary is paid from.мін. 1
customFieldsobjectдовільні ключі

Відповідь · 201

application/json

statusCodenumberобовʼязковийприклад 201
messagestringобовʼязковий—
dataobject16 полів
teacherIdnumberобовʼязковий—
firstNamestringобовʼязковий—
lastNamestringобовʼязковийможе бути null—
middleNamestringобовʼязковийможе бути null—
contactsobject[]обовʼязковий3 поля
typestringобовʼязковий—
valuestringобовʼязковий—
labelstringобовʼязковийможе бути null—
dateOfBirthstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
genderstringобовʼязковийОдне з: MALE FEMALE
notestringобовʼязковийможе бути null—
avatarUrlstringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
workloadobject2 поля
scheduledHoursnumberобовʼязковий—
workHoursnumberобовʼязковий—
statusobjectможе бути null3 поля
statusOfTeacherIdnumberобовʼязковий—
nameOfStatusstringобовʼязковий—
showInWorkCalendarbooleanобовʼязковий—
chatsobject[]обовʼязковийConnected chats; the table row shows their channel icons.4 поля
chatParticipantIdnumberобовʼязковий—
chatIdnumberобовʼязковий—
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
chatobjectAlways present at runtime; optional because card selects are built dynamically and TS cannot prove the nested object exists.5 полів
chatIdnumberобовʼязковий—
contactNamestringобовʼязковийможе бути null—
avatarstringобовʼязковийможе бути null—
lastMessageAtstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
messengerobjectобовʼязковий4 поля
messengerIdnumberобовʼязковий—
nameOfMessengerstringобовʼязковий—
typeOfMessengerstringобовʼязковийОдне з: TELEGRAM_BOT INSTAGRAM FACEBOOK IMESSAGE
capabilitiesobjectобовʼязковийможе бути nullWhat the channel supports; null when its adapter is not registered, so the chat is read-only.
customFieldsobjectCustom field values for the columns selected in the table preset.довільні ключі
Помилки400401403429500
curl -X POST "https://your-school.rist.pro/api/teacher" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "string",
    "lastName": "string",
    "middleName": "string",
    "subjectIds": [
      1
    ],
    "contacts": [
      {
        "type": "PHONE",
        "value": "string",
        "label": "string"
      }
    ],
    "dateOfBirth": "2026-11-09T14:30:00",
    "gender": "MALE",
    "meetingLinkId": 1,
    "statusOfTeacherId": 1,
    "teacherReportStatusId": 1,
    "note": "string",
    "payoutMethod": "CARD",
    "payoutRecipient": "string",
    "payoutDetails": "string",
    "payoutNote": "string",
    "payoutAccountId": 1,
    "customFields": {}
  }'
Приклад відповіді · 201
{
  "statusCode": 201,
  "message": "Operation completed successfully",
  "data": {
    "teacherId": 1,
    "firstName": "string",
    "lastName": "string",
    "middleName": "string",
    "contacts": [
      {
        "type": "string",
        "value": "string",
        "label": "string"
      }
    ],
    "dateOfBirth": "2026-11-09T14:30:00",
    "gender": "MALE",
    "note": "string",
    "avatarUrl": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00",
    "workload": {
      "scheduledHours": 0,
      "workHours": 0
    },
    "status": {
      "statusOfTeacherId": 1,
      "nameOfStatus": "string",
      "showInWorkCalendar": false
    },
    "chats": [
      {
        "chatParticipantId": 1,
        "chatId": 1,
        "createdAt": "2026-11-09T14:30:00",
        "chat": {
          "chatId": 1,
          "contactName": "string",
          "avatar": "string",
          "lastMessageAt": "2026-11-09T14:30:00",
          "messenger": {
            "messengerId": 1,
            "nameOfMessenger": "string",
            "typeOfMessenger": "TELEGRAM_BOT",
            "capabilities": {}
          }
        }
      }
    ],
    "customFields": {}
  }
}
PATCH

Update teacher

/api/teacher/{id}

Change fields of a teacher card. Send only the fields to change: contacts and subjectIds, when sent, replace the whole list.

update_teacher

Параметри шляху · 1

idnumberобовʼязковий—

Тіло запиту

application/json · object

firstNamestringдовжина 1–30
lastNamestringможе бути nullдовжина макс. 30
middleNamestringможе бути nullдовжина макс. 30
subjectIdsnumber[]мін. 1
contactsobject[]3 поля
typestringобовʼязковийОдне з: PHONE EMAIL MESSENGER URL
valuestringобовʼязковийдовжина 1–255
labelstringобовʼязковийможе бути nullдовжина макс. 50
dateOfBirthstringможе бути nullформат YYYY-MM-DDTHH:mm:ss
genderstringОдне з: MALE FEMALE
meetingLinkIdnumberможе бути nullмін. 1
statusOfTeacherIdnumberможе бути nullмін. 1
teacherReportStatusIdnumberможе бути nullмін. 1
notestringможе бути nullдовжина макс. 1500
payoutMethodstringможе бути nullОдне з: CARD IBAN CASH
payoutRecipientstringможе бути nullдовжина макс. 150
payoutDetailsstringможе бути nullдовжина макс. 100
payoutNotestringможе бути nullдовжина макс. 500
payoutAccountIdnumberможе бути nullSchool account the salary is paid from.мін. 1
customFieldsobjectдовільні ключі

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject16 полів
teacherIdnumberобовʼязковий—
firstNamestringобовʼязковий—
lastNamestringобовʼязковийможе бути null—
middleNamestringобовʼязковийможе бути null—
contactsobject[]обовʼязковий3 поля
typestringобовʼязковий—
valuestringобовʼязковий—
labelstringобовʼязковийможе бути null—
dateOfBirthstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
genderstringобовʼязковийОдне з: MALE FEMALE
notestringобовʼязковийможе бути null—
avatarUrlstringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
workloadobject2 поля
scheduledHoursnumberобовʼязковий—
workHoursnumberобовʼязковий—
statusobjectможе бути null3 поля
statusOfTeacherIdnumberобовʼязковий—
nameOfStatusstringобовʼязковий—
showInWorkCalendarbooleanобовʼязковий—
chatsobject[]обовʼязковийConnected chats; the table row shows their channel icons.4 поля
chatParticipantIdnumberобовʼязковий—
chatIdnumberобовʼязковий—
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
chatobjectAlways present at runtime; optional because card selects are built dynamically and TS cannot prove the nested object exists.5 полів
chatIdnumberобовʼязковий—
contactNamestringобовʼязковийможе бути null—
avatarstringобовʼязковийможе бути null—
lastMessageAtstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
messengerobjectобовʼязковий4 поля
messengerIdnumberобовʼязковий—
nameOfMessengerstringобовʼязковий—
typeOfMessengerstringобовʼязковийОдне з: TELEGRAM_BOT INSTAGRAM FACEBOOK IMESSAGE
capabilitiesobjectобовʼязковийможе бути nullWhat the channel supports; null when its adapter is not registered, so the chat is read-only.
customFieldsobjectCustom field values for the columns selected in the table preset.довільні ключі
Помилки400401403429500
curl -X PATCH "https://your-school.rist.pro/api/teacher/1" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "string",
    "lastName": "string",
    "middleName": "string",
    "subjectIds": [
      1
    ],
    "contacts": [
      {
        "type": "PHONE",
        "value": "string",
        "label": "string"
      }
    ],
    "dateOfBirth": "2026-11-09T14:30:00",
    "gender": "MALE",
    "meetingLinkId": 1,
    "statusOfTeacherId": 1,
    "teacherReportStatusId": 1,
    "note": "string",
    "payoutMethod": "CARD",
    "payoutRecipient": "string",
    "payoutDetails": "string",
    "payoutNote": "string",
    "payoutAccountId": 1,
    "customFields": {}
  }'
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "teacherId": 1,
    "firstName": "string",
    "lastName": "string",
    "middleName": "string",
    "contacts": [
      {
        "type": "string",
        "value": "string",
        "label": "string"
      }
    ],
    "dateOfBirth": "2026-11-09T14:30:00",
    "gender": "MALE",
    "note": "string",
    "avatarUrl": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00",
    "workload": {
      "scheduledHours": 0,
      "workHours": 0
    },
    "status": {
      "statusOfTeacherId": 1,
      "nameOfStatus": "string",
      "showInWorkCalendar": false
    },
    "chats": [
      {
        "chatParticipantId": 1,
        "chatId": 1,
        "createdAt": "2026-11-09T14:30:00",
        "chat": {
          "chatId": 1,
          "contactName": "string",
          "avatar": "string",
          "lastMessageAt": "2026-11-09T14:30:00",
          "messenger": {
            "messengerId": 1,
            "nameOfMessenger": "string",
            "typeOfMessenger": "TELEGRAM_BOT",
            "capabilities": {}
          }
        }
      }
    ],
    "customFields": {}
  }
}