Articles and categories
Finance · 4 операції
GET
List finance articles
/api/articleIncome and expense articles with the operation types each applies to.
list_finance_articles
Параметри запиту · 6
pageмін. 1 · за замовчуванням 1pageSize1–250 · за замовчуванням 20nameOfArticleдовжина макс. 150isArchivalза замовчуванням falsearticleIds—typeOfOperationОдне з: INCOME TRANSFER ADJUSTMENT EXPENSES REFUND ACCOUNT_TRANSFERВідповідь · 200
application/json
statusCodeприклад 200message—data4 поля
total—totalPages—currentPage—articles8 полів
articleId—nameOfArticle—typesOfFinanceOperation—note—order—isArchival—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscurl "https://your-school.rist.pro/api/article?nameOfArticle=string&isArchival=false&articleIds=1" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/article?nameOfArticle=string&isArchival=false&articleIds=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/article",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
params={
"nameOfArticle": "string",
"isArchival": False,
"articleIds": [
1
]
},
)
response.raise_for_status()
data = response.json()["data"]Приклад відповіді · 200
{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"total": 0,
"totalPages": 0,
"currentPage": 0,
"articles": [
{
"articleId": 1,
"nameOfArticle": "string",
"typesOfFinanceOperation": {},
"note": "string",
"order": 0,
"isArchival": false,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
]
}
}GET
List finance categories
/api/categoryCategories of finance operations.
list_finance_categories
Параметри запиту · 6
pageмін. 1 · за замовчуванням 1pageSize1–250 · за замовчуванням 20categoryIds—typeОдне з: INCOME EXPENSESnameOfCategoryдовжина макс. 150isArchivalза замовчуванням falseВідповідь · 200
application/json
statusCodeприклад 200message—data4 поля
total—totalPages—currentPage—categories8 полів
categoryId—nameOfCategory—typeОдне з: INCOME EXPENSESnote—order—isArchival—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscurl "https://your-school.rist.pro/api/category?nameOfCategory=string&isArchival=false" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/category?nameOfCategory=string&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/category",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
params={
"nameOfCategory": "string",
"isArchival": False
},
)
response.raise_for_status()
data = response.json()["data"]Приклад відповіді · 200
{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"total": 0,
"totalPages": 0,
"currentPage": 0,
"categories": [
{
"categoryId": 1,
"nameOfCategory": "string",
"type": "INCOME",
"note": "string",
"order": 0,
"isArchival": false,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
]
}
}POST
Create finance article
/api/articleAdd an income or expense article (name, operation types it applies to, optional note).
create_finance_article
Тіло запиту
application/json · object
nameOfArticleдовжина 1–150typesOfFinanceOperationОдне з: INCOME TRANSFER ADJUSTMENT EXPENSES REFUND ACCOUNT_TRANSFERелементів мін. 1noteдовжина макс. 1500Відповідь · 201
application/json
statusCodeприклад 201message—data8 полів
articleId—nameOfArticle—typesOfFinanceOperation—note—order—isArchival—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscurl -X POST "https://your-school.rist.pro/api/article" \
-H "Authorization: Bearer $RIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nameOfArticle": "string",
"typesOfFinanceOperation": [
"INCOME"
],
"note": "string"
}'const response = await fetch("https://your-school.rist.pro/api/article", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nameOfArticle": "string",
"typesOfFinanceOperation": [
"INCOME"
],
"note": "string"
}),
});
const { data } = await response.json();import os
import requests
response = requests.post(
"https://your-school.rist.pro/api/article",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"nameOfArticle": "string",
"typesOfFinanceOperation": [
"INCOME"
],
"note": "string"
},
)
response.raise_for_status()
data = response.json()["data"]Приклад відповіді · 201
{
"statusCode": 201,
"message": "Operation completed successfully",
"data": {
"articleId": 1,
"nameOfArticle": "string",
"typesOfFinanceOperation": {},
"note": "string",
"order": 0,
"isArchival": false,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
}PUT
Update finance article
/api/article/{id}Change a finance article; name and operation types are always required, the types list is replaced.
update_finance_article
Параметри шляху · 1
id—Тіло запиту
application/json · object
nameOfArticleдовжина 1–150typesOfFinanceOperationОдне з: INCOME TRANSFER ADJUSTMENT EXPENSES REFUND ACCOUNT_TRANSFERелементів мін. 1noteдовжина макс. 1500Відповідь · 200
application/json
statusCodeприклад 200message—data8 полів
articleId—nameOfArticle—typesOfFinanceOperation—note—order—isArchival—updatedAtформат YYYY-MM-DDTHH:mm:sscreatedAtформат YYYY-MM-DDTHH:mm:sscurl -X PUT "https://your-school.rist.pro/api/article/1" \
-H "Authorization: Bearer $RIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nameOfArticle": "string",
"typesOfFinanceOperation": [
"INCOME"
],
"note": "string"
}'const response = await fetch("https://your-school.rist.pro/api/article/1", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nameOfArticle": "string",
"typesOfFinanceOperation": [
"INCOME"
],
"note": "string"
}),
});
const { data } = await response.json();import os
import requests
response = requests.put(
"https://your-school.rist.pro/api/article/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"nameOfArticle": "string",
"typesOfFinanceOperation": [
"INCOME"
],
"note": "string"
},
)
response.raise_for_status()
data = response.json()["data"]Приклад відповіді · 200
{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"articleId": 1,
"nameOfArticle": "string",
"typesOfFinanceOperation": {},
"note": "string",
"order": 0,
"isArchival": false,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
}