Accounts
Finance · 3 operations
GET
List finance accounts
/api/finance-accountMoney accounts (cash desks, bank accounts, cards) that finance operations go through.
list_finance_accounts
Query parameters · 6
pagemin 1 · default 1pageSize1–250 · default 20accountIds—nameOfAccountlength max 150isArchivaldefault falseavailableOnly accounts the requester's role may use (operation and payout selects).Response · 200
application/json
statusCodeexample 200message—data4 fields
total—totalPages—currentPage—accounts8 fields
accountId—nameOfAccount—note—order—isArchival—roleIdsRoles that may use the account in operations and payouts.updatedAtformat YYYY-MM-DDTHH:mm:sscreatedAtformat YYYY-MM-DDTHH:mm:sscurl "https://your-school.rist.pro/api/finance-account?nameOfAccount=string&isArchival=false" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/finance-account?nameOfAccount=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/finance-account",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
params={
"nameOfAccount": "string",
"isArchival": False
},
)
response.raise_for_status()
data = response.json()["data"]Response example · 200
{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"total": 0,
"totalPages": 0,
"currentPage": 0,
"accounts": [
{
"accountId": 1,
"nameOfAccount": "string",
"note": "string",
"order": 0,
"isArchival": false,
"roleIds": [
1
],
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
]
}
}POST
Create finance account
/api/finance-accountAdd a money account (name, optional note).
create_finance_account
Request body
application/json · object
nameOfAccountlength 1–150notelength max 1500roleIdsRoles that may use the account; replaces the stored list. Fail-closed: none means nobody.min 1Response · 201
application/json
statusCodeexample 201message—data8 fields
accountId—nameOfAccount—note—order—isArchival—roleIdsRoles that may use the account in operations and payouts.updatedAtformat YYYY-MM-DDTHH:mm:sscreatedAtformat YYYY-MM-DDTHH:mm:sscurl -X POST "https://your-school.rist.pro/api/finance-account" \
-H "Authorization: Bearer $RIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nameOfAccount": "string",
"note": "string",
"roleIds": [
1
]
}'const response = await fetch("https://your-school.rist.pro/api/finance-account", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nameOfAccount": "string",
"note": "string",
"roleIds": [
1
]
}),
});
const { data } = await response.json();import os
import requests
response = requests.post(
"https://your-school.rist.pro/api/finance-account",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"nameOfAccount": "string",
"note": "string",
"roleIds": [
1
]
},
)
response.raise_for_status()
data = response.json()["data"]Response example · 201
{
"statusCode": 201,
"message": "Operation completed successfully",
"data": {
"accountId": 1,
"nameOfAccount": "string",
"note": "string",
"order": 0,
"isArchival": false,
"roleIds": [
1
],
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
}PUT
Update finance account
/api/finance-account/{id}Change name or note of a money account; name is always required.
update_finance_account
Path parameters · 1
id—Request body
application/json · object
nameOfAccountlength 1–150notelength max 1500roleIdsRoles that may use the account; replaces the stored list. Fail-closed: none means nobody.min 1Response · 200
application/json
statusCodeexample 200message—data8 fields
accountId—nameOfAccount—note—order—isArchival—roleIdsRoles that may use the account in operations and payouts.updatedAtformat YYYY-MM-DDTHH:mm:sscreatedAtformat YYYY-MM-DDTHH:mm:sscurl -X PUT "https://your-school.rist.pro/api/finance-account/1" \
-H "Authorization: Bearer $RIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nameOfAccount": "string",
"note": "string",
"roleIds": [
1
]
}'const response = await fetch("https://your-school.rist.pro/api/finance-account/1", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nameOfAccount": "string",
"note": "string",
"roleIds": [
1
]
}),
});
const { data } = await response.json();import os
import requests
response = requests.put(
"https://your-school.rist.pro/api/finance-account/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"nameOfAccount": "string",
"note": "string",
"roleIds": [
1
]
},
)
response.raise_for_status()
data = response.json()["data"]Response example · 200
{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"accountId": 1,
"nameOfAccount": "string",
"note": "string",
"order": 0,
"isArchival": false,
"roleIds": [
1
],
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
}