Fields
Settings · 2 операції
GET
List system field settings
/api/system-fieldWhich built-in fields of each entity (student, lead, lesson and others) are required or hidden in this school.
list_system_fields
Відповідь · 200
application/json
statusCodeприклад 200message—data1 поле
systemFieldsFlat list for all entities, loaded once per app load.8 полів
entityОдне з: STUDENT LEAD TEACHER USER CUSTOMER GROUP FINANCE_OPERATION LESSON TASKfield—isRequiredEffective requirement: the school override or the registry default.isLockedTechnically required; the toggle can't be turned off.isHiddenHidden from forms and never required, whatever the school set (e.g. middle name when the name format lacks it).ruleConditions that make the field required; null means only isRequired applies.labelSchool-defined label; null means use the frontend translation.hint—curl "https://your-school.rist.pro/api/system-field" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/system-field", {
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/system-field",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
)
response.raise_for_status()
data = response.json()["data"]Приклад відповіді · 200
{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"systemFields": [
{
"entity": "STUDENT",
"field": "string",
"isRequired": false,
"isLocked": false,
"isHidden": false,
"rule": {},
"label": "string",
"hint": "string"
}
]
}
}GET
List custom fields
/api/custom-fieldCustom field definitions (optionally of one entity) with type, options and group. Pass values in customFields by definition id when creating or updating records.
list_custom_fields
Параметри запиту · 2
entityОдне з: STUDENT LEAD TEACHER USER CUSTOMER GROUP FINANCE_OPERATION LESSON STUDENT_SUBSCRIPTION TASKisArchivalза замовчуванням falseВідповідь · 200
application/json
statusCodeприклад 200message—data5 полів
total—totalPages—currentPage—customFieldDefinitions16 полів
customFieldDefinitionId—entityОдне з: STUDENT LEAD TEACHER USER CUSTOMER GROUP FINANCE_OPERATION LESSON STUDENT_SUBSCRIPTION TASKlabel—typeОдне з: URL TEXT TEXTAREA NUMBER DATE DATETIME TIME CHECKBOX SELECT MULTI_SELECTplaceholder—hint—isRequired—isShowInTable—rule—order—isArchival—groupId—valuesCount—options3 поля
customFieldOptionId—label—order—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscustomFieldGroups7 полів
customFieldGroupId—entityОдне з: STUDENT LEAD TEACHER USER CUSTOMER GROUP FINANCE_OPERATION LESSON STUDENT_SUBSCRIPTION TASKlabel—order—isCollapsedByDefault—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscurl "https://your-school.rist.pro/api/custom-field?isArchival=false" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/custom-field?isArchival=false", {
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/custom-field",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
params={
"isArchival": False
},
)
response.raise_for_status()
data = response.json()["data"]Приклад відповіді · 200
{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"total": 0,
"totalPages": 0,
"currentPage": 0,
"customFieldDefinitions": [
{
"customFieldDefinitionId": 1,
"entity": "STUDENT",
"label": "string",
"type": "URL",
"placeholder": "string",
"hint": "string",
"isRequired": false,
"isShowInTable": false,
"rule": {},
"order": 0,
"isArchival": false,
"groupId": 1,
"valuesCount": 0,
"options": [
{
"customFieldOptionId": 1,
"label": "string",
"order": 0
}
],
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
],
"customFieldGroups": [
{
"customFieldGroupId": 1,
"entity": "STUDENT",
"label": "string",
"order": 0,
"isCollapsedByDefault": false,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
]
}
}