Chat tags
Chats · 3 operations
List chat tags
/api/chat-tagTags that can be put on chats (not lead tags). isRestricted=true hides its chats from roles not in roleIds; isSilent=true means new messages in its chats open no dialog. chatCount is how many of the chats the caller can open carry the tag, not all of them.
list_chat_tags
Query parameters · 5
pagemin 1 · default 1pageSize1–250 · default 20chatTagIds—nameOfTaglength max 30isArchivaldefault falseResponse · 200
application/json
statusCodeexample 200message—data4 fields
total—totalPages—currentPage—chatTags11 fields
chatTagId—nameOfTag—note—isRestricted—isSilent—order—isArchival—roleIdsRoles that see chats with the tag while it is restricted.chatCountChats carrying the tag; above 0 isRestricted and isSilent are locked.updatedAtformat YYYY-MM-DDTHH:mm:sscreatedAtformat YYYY-MM-DDTHH:mm:sscurl "https://your-school.rist.pro/api/chat-tag?isArchival=false" \
-H "Authorization: Bearer $RIST_API_KEY"const response = await fetch("https://your-school.rist.pro/api/chat-tag?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/chat-tag",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
params={
"isArchival": False
},
)
response.raise_for_status()
data = response.json()["data"]{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"total": 0,
"totalPages": 0,
"currentPage": 0,
"chatTags": [
{
"chatTagId": 1,
"nameOfTag": "string",
"note": "string",
"isRestricted": false,
"isSilent": false,
"order": 0,
"isArchival": false,
"roleIds": [
1
],
"chatCount": 0,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
]
}
}Create chat tag
/api/chat-tagAdd a chat tag (name up to 30 characters, optional note). isRestricted=true hides its chats from roles not in roleIds; without roleIds the caller's role is granted, [] grants nobody. isSilent=true: new messages in its chats open no dialog.
create_chat_tag
Request body
application/json · object
nameOfTaglength 1–30notelength max 1500isRestrictedHides the tag's chats from roles not in roleIds. Cannot change while the tag is on a chat (409).isSilentNew messages in the tag's chats open no dialog. Cannot change while the tag is on a chat (409).roleIdsRoles that see chats with a restricted tag; replaces the stored list. Left out on create — the author's role;
[] — nobody, the owner included.min 1Response · 201
application/json
statusCodeexample 201message—data11 fields
chatTagId—nameOfTag—note—isRestricted—isSilent—order—isArchival—roleIdsRoles that see chats with the tag while it is restricted.chatCountChats carrying the tag; above 0 isRestricted and isSilent are locked.updatedAtformat YYYY-MM-DDTHH:mm:sscreatedAtformat YYYY-MM-DDTHH:mm:sscurl -X POST "https://your-school.rist.pro/api/chat-tag" \
-H "Authorization: Bearer $RIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nameOfTag": "string",
"note": "string",
"isRestricted": false,
"isSilent": false,
"roleIds": [
1
]
}'const response = await fetch("https://your-school.rist.pro/api/chat-tag", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nameOfTag": "string",
"note": "string",
"isRestricted": false,
"isSilent": false,
"roleIds": [
1
]
}),
});
const { data } = await response.json();import os
import requests
response = requests.post(
"https://your-school.rist.pro/api/chat-tag",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"nameOfTag": "string",
"note": "string",
"isRestricted": False,
"isSilent": False,
"roleIds": [
1
]
},
)
response.raise_for_status()
data = response.json()["data"]{
"statusCode": 201,
"message": "Operation completed successfully",
"data": {
"chatTagId": 1,
"nameOfTag": "string",
"note": "string",
"isRestricted": false,
"isSilent": false,
"order": 0,
"isArchival": false,
"roleIds": [
1
],
"chatCount": 0,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
}Update chat tag
/api/chat-tag/{id}Change a chat tag; name is always required. roleIds, when sent, replaces the whole list of roles that see its chats. isRestricted and isSilent cannot change while chatCount > 0 (409).
update_chat_tag
Path parameters · 1
id—Request body
application/json · object
nameOfTaglength 1–30notelength max 1500isRestrictedHides the tag's chats from roles not in roleIds. Cannot change while the tag is on a chat (409).isSilentNew messages in the tag's chats open no dialog. Cannot change while the tag is on a chat (409).roleIdsRoles that see chats with a restricted tag; replaces the stored list. Left out on create — the author's role;
[] — nobody, the owner included.min 1Response · 200
application/json
statusCodeexample 200message—data11 fields
chatTagId—nameOfTag—note—isRestricted—isSilent—order—isArchival—roleIdsRoles that see chats with the tag while it is restricted.chatCountChats carrying the tag; above 0 isRestricted and isSilent are locked.updatedAtformat YYYY-MM-DDTHH:mm:sscreatedAtformat YYYY-MM-DDTHH:mm:sscurl -X PUT "https://your-school.rist.pro/api/chat-tag/1" \
-H "Authorization: Bearer $RIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nameOfTag": "string",
"note": "string",
"isRestricted": false,
"isSilent": false,
"roleIds": [
1
]
}'const response = await fetch("https://your-school.rist.pro/api/chat-tag/1", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.RIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nameOfTag": "string",
"note": "string",
"isRestricted": false,
"isSilent": false,
"roleIds": [
1
]
}),
});
const { data } = await response.json();import os
import requests
response = requests.put(
"https://your-school.rist.pro/api/chat-tag/1",
headers={"Authorization": f"Bearer {os.environ['RIST_API_KEY']}"},
json={
"nameOfTag": "string",
"note": "string",
"isRestricted": False,
"isSilent": False,
"roleIds": [
1
]
},
)
response.raise_for_status()
data = response.json()["data"]{
"statusCode": 200,
"message": "Operation completed successfully",
"data": {
"chatTagId": 1,
"nameOfTag": "string",
"note": "string",
"isRestricted": false,
"isSilent": false,
"order": 0,
"isArchival": false,
"roleIds": [
1
],
"chatCount": 0,
"updatedAt": "2026-11-09T14:30:00",
"createdAt": "2026-11-09T14:30:00"
}
}