SettingsRoles

Roles

Settings · 2 операції

GET

List roles

/api/role

Roles of the school with their rights. A role has nameOfRole, interface (ADMINISTRATOR, MANAGER, TEACHER, CUSTOMER, STUDENT: which part of the CRM its users get), level (1-1000; the user may manage only roles below their own level, the owner is 1000), note, pages (menu items: {: {visible, order}}) and permission: a tree of entities, each with actions {: true/false}, fields {: {view, edit}}, sometimes endpoints {: true/false}, own (true = only records of the user) and nested entities (teacher.wage). Anything not true is denied. Every role carries its whole permission tree (about 12,000 characters), so filter by nameOfRole or roleIds, or read one with GET /api/role/{id}. Archived roles only with isArchival=true.

list_roles

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

pagenumberмін. 1 · за замовчуванням 1
pageSizenumber1–250 · за замовчуванням 20
sortBystringОдне з: nameOfRole interface level
sortOrderstringОдне з: ASC DESC
roleIdsnumber[]—
nameOfRolestringобовʼязковийдовжина макс. 150
interfacestring[]Одне з: STUDENT TEACHER CUSTOMER MANAGER ADMINISTRATOR
notestringобовʼязковий—
maxLevelnumber—
isArchivalobjectобовʼязковийза замовчуванням false

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject4 поля
totalnumberобовʼязковий—
totalPagesnumberобовʼязковий—
currentPagenumberобовʼязковий—
rolesobject[]обовʼязковий10 полів
roleIdnumberобовʼязковий—
nameOfRolestringобовʼязковий—
interfacestringобовʼязковийОдне з: STUDENT TEACHER CUSTOMER MANAGER ADMINISTRATOR
permissionobjectобовʼязковий—
pagesobjectобовʼязковий—
levelnumberобовʼязковий—
notestringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
Помилки400401403429500
curl "https://your-school.rist.pro/api/role?nameOfRole=string&note=string&isArchival=false" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "total": 0,
    "totalPages": 0,
    "currentPage": 0,
    "roles": [
      {
        "roleId": 1,
        "nameOfRole": "string",
        "interface": "STUDENT",
        "permission": {},
        "pages": {},
        "level": 0,
        "note": "string",
        "isArchival": false,
        "updatedAt": "2026-11-09T14:30:00",
        "createdAt": "2026-11-09T14:30:00"
      }
    ]
  }
}
GET

Get role

/api/role/{id}

One role with its menu pages and full permission tree. A role has nameOfRole, interface (ADMINISTRATOR, MANAGER, TEACHER, CUSTOMER, STUDENT: which part of the CRM its users get), level (1-1000; the user may manage only roles below their own level, the owner is 1000), note, pages (menu items: {: {visible, order}}) and permission: a tree of entities, each with actions {: true/false}, fields {: {view, edit}}, sometimes endpoints {: true/false}, own (true = only records of the user) and nested entities (teacher.wage). Anything not true is denied.

get_role

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

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

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject10 полів
roleIdnumberобовʼязковий—
nameOfRolestringобовʼязковий—
interfacestringобовʼязковийОдне з: STUDENT TEACHER CUSTOMER MANAGER ADMINISTRATOR
permissionobjectобовʼязковий—
pagesobjectобовʼязковий—
levelnumberобовʼязковий—
notestringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
Помилки400401403429500
curl "https://your-school.rist.pro/api/role/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "roleId": 1,
    "nameOfRole": "string",
    "interface": "STUDENT",
    "permission": {},
    "pages": {},
    "level": 0,
    "note": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00"
  }
}