FastComments.com

FastComments Nim SDK

Це офіційний SDK на Nim для FastComments.

Офіційний Nim SDK для API FastComments

Репозиторій

Переглянути на GitHub


Вимоги Internal Link


  • Nim >= 1.6.0
  • nimcrypto >= 0.5.4

Встановлення Internal Link

Використання Nimble

nimble install fastcomments

Побудова з вихідного коду

nimble build

Зміст бібліотеки

Ця бібліотека містить згенерований клієнт API та утиліти SSO, щоб спростити роботу з API.

Публічні та захищені API

Для клієнта API існує три модулі API, api_default, api_public, and api_moderation. Модуль api_default містить методи, що вимагають вашого API-ключа, а api_public містить виклики API, які можна виконувати безпосередньо з браузера/мобільного пристрою тощо без автентифікації. Модуль api_moderation містить методи для панелі модератора.

Методи api_moderation охоплюють перелік, підрахунок, пошук і експорт коментарів та їхніх журналів; дії модерації, такі як видалення/відновлення коментарів, позначення, встановлення статусу на перегляд/спам/погодження, коригування голосів, та повторне відкриття/закриття тем; бані (заборона користувача від коментування, скасування бану, підсумки перед баном, статуси та налаштування бану, та підрахунок забанених користувачів); та бейджі й довіра (надання/зняття бейджу, перелік ручних бейджів, отримання/встановлення коефіцієнта довіри користувача, та отримання внутрішнього профілю користувача). Кожен метод api_moderation приймає параметр sso, щоб виклик був автентифікований як SSO-модератор.

Швидкий старт Internal Link

Використання автентифікованих API (DefaultAPI)

Важливо: Автентифіковані кінцеві точки вимагають встановлення вашого API-ключа в заголовку x-api-key.

import httpclient
import fastcomments
import fastcomments/apis/api_default
import fastcomments/models/model_comment_data

let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"

# Виконати автентифіковані виклики API
let (response, httpResponse) = getComments(
  httpClient = client,
  tenantId = "your-tenant-id",
  page = 0,
  limit = 0,
  skip = 0,
  asTree = false,
  skipChildren = 0,
  limitChildren = 0,
  maxTreeDepth = 0,
  urlId = "your-url-id",
  userId = "",
  anonUserId = "",
  contextUserId = "",
  hashTag = "",
  parentId = "",
  direction = SortDirections.DESC
)

if response.isSome:
  let resp = response.get()
  if resp.comments.isSome:
    echo "Found ", resp.comments.get().len, " comments"

Використання публічних API (PublicAPI)

Публічні кінцеві точки не вимагають автентифікації:

import httpclient
import fastcomments
import fastcomments/apis/api_public

let client = newHttpClient()

# Виконати публічні виклики API
let (response, httpResponse) = getCommentsPublic(
  httpClient = client,
  tenantId = "your-tenant-id",
  urlId = "your-url-id",
  page = 0,
  direction = SortDirections.DESC,
  sso = "",
  skip = 0,
  skipChildren = 0,
  limit = 0,
  limitChildren = 0,
  countChildren = false,
  fetchPageForCommentId = "",
  includeConfig = false,
  countAll = false,
  includei10n = false,
  locale = "",
  modules = "",
  isCrawler = false,
  includeNotificationCount = false,
  asTree = false,
  maxTreeDepth = 0,
  useFullTranslationIds = false,
  parentId = "",
  searchText = "",
  hashTags = @[],
  userId = "",
  customConfigStr = "",
  afterCommentId = "",
  beforeCommentId = ""
)

if response.isSome:
  let resp = response.get()
  if resp.comments.isSome:
    echo "Found ", resp.comments.get().len, " comments"

Використання модераційних API (ModerationAPI)

Модераційні кінцеві точки забезпечують роботу панелі модератора та автентифікуються за допомогою SSO-токена для поточного модератора:

import httpclient
import fastcomments
import fastcomments/apis/api_moderation

let client = newHttpClient()

# Перелік коментарів у панелі модератора
let (response, httpResponse) = getApiComments(
  httpClient = client,
  page = 0,
  count = 30,
  textSearch = "",
  byIPFromComment = "",
  filters = "",
  searchFilters = "",
  sorts = "",
  demo = false,
  sso = "your-sso-token"
)

if response.isSome:
  let resp = response.get()
  echo "Found ", resp.comments.len, " comments"

Типові проблеми

  1. 401 помилка автентифікації: Переконайтеся, що ви встановили заголовок x-api-key на вашому HttpClient перед виконанням запитів DefaultAPI: client.headers["x-api-key"] = "your-api-key"
  2. Неправильний клас API: Використовуйте api_default для серверних автентифікованих запитів, api_public для клієнтських/публічних запитів, та api_moderation для запитів панелі модератора.

Виклики API Internal Link


Усі методи API в цьому SDK повертають кортежі (Option[ResponseType], Response). Перший елемент містить розібрану відповідь у разі успіху, а другий елемент — сирий HTTP-відповідь.

Приклад: Отримання коментарів

import httpclient
import options
import fastcomments
import fastcomments/apis/api_default

let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"

let (response, httpResponse) = getComments(
  httpClient = client,
  tenantId = "your-tenant-id",
  page = 0,
  limit = 0,
  skip = 0,
  asTree = false,
  skipChildren = 0,
  limitChildren = 0,
  maxTreeDepth = 0,
  urlId = "your-url-id",
  userId = "",
  anonUserId = "",
  contextUserId = "",
  hashTag = "",
  parentId = "",
  direction = SortDirections.DESC
)

if httpResponse.code == Http200:
  if response.isSome:
    let resp = response.get()
    if resp.comments.isSome:
      echo "Found ", resp.comments.get().len, " comments"

Примітки Internal Link

Ідентифікатори трансляцій

Ви побачите, що потрібно передавати broadcastId у деяких викликах API. Коли ви отримуєте події, ви отримаєте назад цей ідентифікатор, тож знатимете, що можна ігнорувати подію, якщо плануєте оптимістично застосувати зміни на клієнті (що, ймовірно, буде бажаним, оскільки забезпечує найкращий досвід). Передайте тут UUID. Ідентифікатор має бути достатньо унікальним, щоб не повторюватися двічі в одній сесії браузера.

SSO (Єдиний вхід)

Для прикладів SSO дивіться нижче.

Використання SSO Internal Link

Простий SSO

import fastcomments/sso

let user = newSimpleSSOUserData(
  userId = "user-123",
  email = "user@example.com",
  avatar = "https://example.com/avatar.jpg"
)
let sso = newSimple(simpleUserData = user)
let token = sso.createToken()

echo "SSO Token: ", token

Безпечний SSO

import fastcomments/sso

let user = newSecureSSOUserData(
  userId = "user-123",
  email = "user@example.com",
  username = "johndoe",
  avatar = "https://example.com/avatar.jpg"
)

let apiKey = "your-api-key"
let sso = newSecure(apiKey = apiKey, secureUserData = user)
let token = sso.createToken()

echo "Secure SSO Token: ", token

aggregate Internal Link

Агрегує документи шляхом групування (якщо вказано groupBy) та застосування кількох операцій. Підтримуються різні операції (наприклад sum, countDistinct, avg тощо).

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
aggregationRequestAggregationRequestНі
parentTenantIdstringНі
includeStatsboolНі

Відповідь

Повертає: Option[AggregateResponse]

Приклад

Приклад aggregate
Copy Copy
1
2let (response, httpResponse) = client.aggregate(
3 tenantId = "my-tenant-123",
4 aggregationRequest = AggregationRequest(groupBy = @["articleId"], metrics = @["commentCount"], filters = @[], limit = 0),
5 parentTenantId = "",
6 includeStats = false
7)
8
9if response.isSome:
10 let agg = response.get()
11 discard agg
12

getAuditLogs Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
limitfloat64Ні
skipfloat64Ні
orderSORTDIRНі
afterfloat64Ні
beforefloat64Ні

Відповідь

Повертає: Option[GetAuditLogsResponse]

Приклад

Приклад getAuditLogs
Copy Copy
1
2let (response, httpResponse) = client.getAuditLogs(
3 tenantId = "my-tenant-123",
4 limit = 50.0,
5 skip = 0.0,
6 order = SORTDIR.DESC,
7 after = 1622505600.0,
8 before = 1625097600.0
9)
10
11if response.isSome:
12 let logs = response.get()
13 echo logs
14else:
15 echo "No audit logs returned"
16

logoutPublic Internal Link

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад logoutPublic
Copy Copy
1
2let (response, httpResponse) = client.logoutPublic(tenantId = "my-tenant-123", sessionId = "sess-9a8b7c6d", userId = "editor-87", revokeAll = false, ipAddress = "")
3if response.isSome:
4 let emptyResp = response.get()
5 echo "Logout successful for user: ", "editor-87"
6else:
7 echo "Logout failed"
8

blockFromCommentPublic Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
commentIdstringТак
publicBlockFromCommentParamsPublicBlockFromCommentParamsНі
ssostringНі

Відповідь

Повертає: Option[BlockSuccess]

Приклад

Приклад blockFromCommentPublic
Copy Copy
1
2let publicParams = PublicBlockFromCommentParams(
3 reason = "Repeated spam links",
4 durationMinutes = 1440,
5 blockAll = true,
6 notifyUser = false,
7 tags = @["spam", "auto-block"]
8)
9
10let (response, httpResponse) = client.blockFromCommentPublic(
11 tenantId = "my-tenant-123",
12 commentId = "comment-98765",
13 publicBlockFromCommentParams = publicParams,
14 sso = ""
15)
16
17if response.isSome:
18 let blockResult = response.get()
19 echo "Block succeeded: ", $blockResult
20else:
21 echo "Block failed, HTTP status: ", $httpResponse.status
22

unBlockCommentPublic Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
publicBlockFromCommentParamsPublicBlockFromCommentParamsНі
ssostringНі

Відповідь

Повертає: Option[UnblockSuccess]

Приклад

Приклад unBlockCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.unBlockCommentPublic(tenantId = "my-tenant-123", commentId = "cmt-987654321", publicBlockFromCommentParams = PublicBlockFromCommentParams(), sso = "")
3if response.isSome:
4 let unblockResult = response.get()
5 discard unblockResult
6else:
7 discard httpResponse
8

checkedCommentsForBlocked Internal Link

Параметри

НазваTypeОбов'язковоОпис
tenantIdstringТак
commentIdsstringНі
ssostringНі

Відповідь

Повертає: Option[CheckBlockedCommentsResponse]

Приклад

Приклад checkedCommentsForBlocked
Copy Copy
1
2let (response, httpResponse) = client.checkedCommentsForBlocked(
3 tenantId = "my-tenant-123",
4 commentIds = "",
5 sso = ""
6)
7if response.isSome:
8 let blockedResp = response.get()
9 echo "Received blocked comments response: ", blockedResp
10else:
11 echo "No response body; HTTP status: ", $httpResponse.status
12

blockUserFromComment Internal Link

Параметри

Ім'яТипОбов'язковоОпис
tenantIdstringТак
idstringНі
blockFromCommentParamsBlockFromCommentParamsНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[BlockSuccess]

Приклад

Приклад blockUserFromComment
Copy Copy
1
2let (response, httpResponse) = client.blockUserFromComment(
3 tenantId = "my-tenant-123",
4 id = "cmt-7890",
5 blockFromCommentParams = BlockFromCommentParams(
6 reason = "Repeated abusive language",
7 durationMinutes = 1440,
8 notifyUser = true,
9 tags = @["abuse", "automated"]
10 ),
11 userId = "user-456",
12 anonUserId = ""
13)
14
15if response.isSome:
16 let result = response.get()
17 discard result
18else:
19 discard httpResponse
20

createCommentPublic Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
broadcastIdstringНі
commentDataCommentDataНі
sessionIdstringНі
ssostringНі

Відповідь

Повертає: Option[SaveCommentsResponseWithPresence]

Приклад

Приклад createCommentPublic
Copy Copy
1
2let commentPayload = CommentData(
3 text = "Great write-up on serverless architectures.",
4 authorName = "Jane Doe",
5 authorEmail = "jane.doe@example.com",
6 isPublic = true,
7 tags = @["tech", "serverless"]
8)
9let (response, httpResponse) = client.createCommentPublic(
10 tenantId = "my-tenant-123",
11 urlId = "news/2026/06/fastcomments-sdk-update",
12 broadcastId = "broadcast-2026-06-19",
13 commentData = commentPayload,
14 sessionId = "sess-8a7b6c",
15 sso = "sso-jwt-abc123"
16)
17if response.isSome:
18 let saved = response.get()
19 discard saved
20

deleteComment Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
contextUserIdstringНі
isLiveboolНі

Відповідь

Повертає: Option[DeleteCommentResult]

Приклад

Приклад використання deleteComment
Copy Copy
1
2let (response, httpResponse) = client.deleteComment(tenantId = "my-tenant-123", id = "cmt-98765", contextUserId = "user-456", isLive = true)
3if response.isSome:
4 let result = response.get()
5 echo "DeleteCommentResult received"
6else:
7 echo "No result, HTTP status: ", httpResponse.status
8

deleteCommentPublic Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[PublicAPIDeleteCommentResponse]

Приклад

Приклад deleteCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteCommentPublic(tenantId = "my-tenant-123", commentId = "cmt-987654321", broadcastId = "", editKey = "", sso = "")
3if response.isSome:
4 let deleted = response.get()
5 echo "Delete acknowledged, HTTP status: ", httpResponse.status
6

deleteCommentVote Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
voteIdstringНі
urlIdstringТак
broadcastIdstringНі
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[VoteDeleteResponse]

Приклад

Приклад deleteCommentVote
Copy Copy
1
2let (response, httpResponse) = client.deleteCommentVote(
3 tenantId = "my-tenant-123",
4 commentId = "comment-456",
5 voteId = "vote-789",
6 urlId = "news/article-title",
7 broadcastId = "",
8 editKey = "",
9 sso = ""
10)
11if response.isSome:
12 let voteResp = response.get()
13 echo "Vote delete response:", voteResp
14else:
15 echo "No response body, HTTP response:", httpResponse
16

flagComment Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[FlagCommentResponse]

Приклад

Приклад flagComment
Copy Copy
1
2let (response, httpResponse) = client.flagComment(
3 tenantId = "my-tenant-123",
4 id = "cmt-98765",
5 userId = "user-12345",
6 anonUserId = ""
7)
8
9if response.isSome:
10 let flagResp = response.get()
11 echo "Flag response received"
12else:
13 echo "No flag response returned"
14

getComment Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIGetCommentResponse]

Приклад

Приклад використання getComment
Copy Copy
1
2let (response, httpResponse) = client.getComment(tenantId = "my-tenant-123", id = "cmt-7890")
3if response.isSome:
4 let comment = response.get()
5 discard comment
6else:
7 echo "Comment not found"
8

getComments Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
pageintНі
limitintНі
skipintНі
asTreeboolНі
skipChildrenintНі
limitChildrenintНі
maxTreeDepthintНі
urlIdstringТак
userIdstringНі
anonUserIdstringНі
contextUserIdstringНі
hashTagstringНі
parentIdstringНі
directionSortDirectionsНі
fromDateint64Ні
toDateint64Ні

Відповідь

Повертає: Option[APIGetCommentsResponse]

Приклад

Приклад getComments
Copy Copy
1
2let (response, httpResponse) = client.getComments(
3 tenantId = "my-tenant-123",
4 page = 1,
5 limit = 25,
6 skip = 0,
7 asTree = true,
8 skipChildren = 0,
9 limitChildren = 5,
10 maxTreeDepth = 3,
11 urlId = "news/2026-global-economy",
12 userId = "user-789",
13 anonUserId = "",
14 contextUserId = "",
15 hashTag = "economy",
16 parentId = "",
17 direction = SortDirections.Desc,
18 fromDate = 1710000000000'i64,
19 toDate = 1710100000000'i64
20)
21if response.isSome:
22 let commentsResp = response.get()
23 discard commentsResp
24

getCommentsPublic Internal Link


req tenantId urlId

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
pageintНі
directionSortDirectionsНі
ssostringНі
skipintНі
skipChildrenintНі
limitintНі
limitChildrenintНі
countChildrenboolНі
fetchPageForCommentIdstringНі
includeConfigboolНі
countAllboolНі
includei10nboolНі
localestringНі
modulesstringНі
isCrawlerboolНі
includeNotificationCountboolНі
asTreeboolНі
maxTreeDepthintНі
useFullTranslationIdsboolНі
parentIdstringНі
searchTextstringНі
hashTagsseq[string]Ні
userIdstringНі
customConfigStrstringНі
afterCommentIdstringНі
beforeCommentIdstringНі

Відповідь

Повертає: Option[GetCommentsResponseWithPresencePublicComment]

Приклад

Приклад getCommentsPublic
Copy Copy
1
2let (response, httpResponse) = client.getCommentsPublic(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 page = 2,
6 direction = SortDirections.Descending,
7 sso = "",
8 skip = 0,
9 skipChildren = 0,
10 limit = 25,
11 limitChildren = 5,
12 countChildren = false,
13 fetchPageForCommentId = "",
14 includeConfig = true,
15 countAll = false,
16 includei10n = true,
17 locale = "en-US",
18 modules = "reactions,moderation",
19 isCrawler = false,
20 includeNotificationCount = true,
21 asTree = true,
22 maxTreeDepth = 3,
23 useFullTranslationIds = false,
24 parentId = "",
25 searchText = "climate change",
26 hashTags = @["climate", "research"],
27 userId = "user-789",
28 customConfigStr = "",
29 afterCommentId = "",
30 beforeCommentId = ""
31)
32
33if response.isSome:
34 let commentsResp = response.get()
35 echo "Received comments response:"
36 echo commentsResp
37else:
38 echo "No comments returned. HTTP status:", httpResponse.status
39

getCommentText Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
commentIdstringТак
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[PublicAPIGetCommentTextResponse]

Приклад

Приклад getCommentText
Copy Copy
1
2let (response, httpResponse) = client.getCommentText(tenantId = "my-tenant-123", commentId = "cmt-987654321", editKey = "", sso = "")
3
4if response.isSome:
5 let commentTextResp = response.get()
6 echo commentTextResp
7else:
8 echo "No comment text returned"
9

getCommentVoteUserNames Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
dirintНі
ssostringНі

Відповідь

Повертає: Option[GetCommentVoteUserNamesSuccessResponse]

Приклад

Приклад getCommentVoteUserNames
Copy Copy
1
2let (response, httpResponse) = client.getCommentVoteUserNames(tenantId = "my-tenant-123", commentId = "cmt-987654", dir = 0, sso = "")
3if response.isSome:
4 let success: GetCommentVoteUserNamesSuccessResponse = response.get()
5 discard success
6

lockComment Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад lockComment
Copy Copy
1
2let (response, httpResponse) = client.lockComment(tenantId = "news-tenant-42", commentId = "cmt-8f3a2b9d", broadcastId = "", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Locked comment successfully for tenant news-tenant-42"
6else:
7 echo "Failed to lock comment, HTTP status: ", $httpResponse.status
8

pinComment Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[ChangeCommentPinStatusResponse]

Приклад

Приклад pinComment
Copy Copy
1
2let (response, httpResponse) = client.pinComment(tenantId = "my-tenant-123", commentId = "cmt-98765", broadcastId = "", sso = "")
3if response.isSome:
4 let pinnedResp = response.get()
5 echo "Pin status updated for comment cmt-98765"
6else:
7 echo "No response received"
8

saveComment Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createCommentParamsCreateCommentParamsНі
isLiveboolНі
doSpamCheckboolНі
sendEmailsboolНі
populateNotificationsboolНі

Відповідь

Повертає: Option[APISaveCommentResponse]

Приклад

Приклад saveComment
Copy Copy
1
2let createCommentParams = CreateCommentParams(
3 urlId = "news/2026/major-policy-change",
4 content = "This is a thoughtful comment on the policy change and its potential impacts.",
5 authorName = "Morgan Lee",
6 authorEmail = "morgan.lee@example.org",
7 tags = @["policy","analysis"],
8 extraData = @[])
9
10let (response, httpResponse) = client.saveComment(
11 tenantId = "my-tenant-123",
12 createCommentParams = createCommentParams,
13 isLive = true,
14 doSpamCheck = true,
15 sendEmails = false,
16 populateNotifications = true)
17
18if response.isSome:
19 let saved = response.get()
20 discard saved
21

saveCommentsBulk Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
createCommentParamsseq[CreateCommentParams]Ні
isLiveboolНі
doSpamCheckboolНі
sendEmailsboolНі
populateNotificationsbool): (Option[seq[SaveCommentsBulkResponse]]Ні
idstringНі
fromNamestringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад saveCommentsBulk
Copy Copy
1
2let (response, httpResponse) = client.saveCommentsBulk(
3 tenantId = "my-tenant-123",
4 createCommentParams = @[],
5 isLive = false,
6 doSpamCheck = false,
7 sendEmails = false,
8 populateNotifications = false,
9 id = "",
10 fromName = ""
11)
12
13if response.isSome:
14 let apiResp = response.get()
15 echo "Bulk save succeeded, tenant:", " my-tenant-123"
16else:
17 echo "Bulk save returned no API response"
18

setCommentText Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
commentTextUpdateRequestCommentTextUpdateRequestНі
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[PublicAPISetCommentTextResponse]

Приклад

Приклад setCommentText
Copy Copy
1
2let (response, httpResponse) = client.setCommentText(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-456789",
5 broadcastId = "",
6 commentTextUpdateRequest = CommentTextUpdateRequest(text: "Updated comment text to fix a typo and clarify meaning."),
7 editKey = "",
8 sso = ""
9)
10if response.isSome:
11 let result = response.get()
12 discard result
13

unBlockUserFromComment Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
unBlockFromCommentParamsUnBlockFromCommentParamsНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[UnblockSuccess]

Приклад

unBlockUserFromComment Приклад
Copy Copy
1
2let (response, httpResponse) = client.unBlockUserFromComment(
3 tenantId = "my-tenant-123",
4 id = "comment-9f3b2a",
5 unBlockFromCommentParams = UnBlockFromCommentParams(),
6 userId = "user-1024",
7 anonUserId = "anon-77b"
8)
9
10if response.isSome:
11 let unblockResult = response.get()
12 echo unblockResult
13else:
14 echo "Unblock failed"
15

unFlagComment Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[FlagCommentResponse]

Приклад

Приклад unFlagComment
Copy Copy
1
2let (response, httpResponse) = client.unFlagComment(tenantId = "my-tenant-123",
3 id = "comment-98765",
4 userId = "user-12345",
5 anonUserId = "")
6
7if response.isSome:
8 let flagResp = response.get()
9 echo "Unflagged comment response:", flagResp
10else:
11 echo "Unflag failed, HTTP status:", httpResponse.status
12

unLockComment Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад unLockComment
Copy Copy
1
2let tenantId = "my-tenant-123"
3let commentId = "cmt-987654321"
4let (response, httpResponse) = client.unLockComment(
5 tenantId = tenantId,
6 commentId = commentId,
7 broadcastId = "",
8 sso = ""
9)
10if response.isSome:
11 let apiResp = response.get()
12 echo "Unlocked comment ", commentId, " for tenant ", tenantId
13else:
14 echo "Unlock failed, HTTP status: ", $httpResponse.status
15

unPinComment Internal Link

Параметри

НазваTypeОбов'язковийОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[ChangeCommentPinStatusResponse]

Приклад

Приклад unPinComment
Copy Copy
1
2let (response, httpResponse) = client.unPinComment(tenantId = "my-tenant-123", commentId = "cmt-987654321", broadcastId = "", sso = "")
3if response.isSome:
4 let result = response.get()
5 echo "Unpinned comment:", $result
6else:
7 echo "Unpin failed, HTTP status:", $httpResponse.status
8

updateComment Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updatableCommentParamsUpdatableCommentParamsНі
contextUserIdstringНі
doSpamCheckboolНі
isLiveboolНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateComment
Copy Copy
1
2let (response, httpResponse) = client.updateComment(
3 tenantId = "my-tenant-123",
4 id = "cmt-987654",
5 updatableCommentParams = UpdatableCommentParams(
6 text = "Updated comment: corrected facts and clarified wording.",
7 isApproved = true,
8 tags = @["news", "update"]
9 ),
10 contextUserId = "user-456",
11 doSpamCheck = true,
12 isLive = true
13)
14
15if response.isSome:
16 let apiResp = response.get()
17 discard apiResp
18

voteComment Internal Link


Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
urlIdstringТак
broadcastIdstringНі
voteBodyParamsVoteBodyParamsНі
sessionIdstringНі
ssostringНі

Відповідь

Повертає: Option[VoteResponse]

Приклад

voteComment Приклад
Copy Copy
1
2let (response, httpResponse) = client.voteComment(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654321",
5 urlId = "news/article-2026-inflation",
6 broadcastId = "",
7 voteBodyParams = VoteBodyParams(),
8 sessionId = "",
9 sso = ""
10)
11
12if response.isSome:
13 let voteResp = response.get()
14 discard voteResp
15else:
16 discard httpResponse
17

getCommentsForUser Internal Link

Параметри

NameTypeRequiredDescription
userIdstringНі
directionSortDirectionsНі
repliesToUserIdstringНі
pagefloat64Ні
includei10nboolНі
localestringНі
isCrawlerboolНі

Відповідь

Повертає: Option[GetCommentsForUserResponse]

Приклад

Приклад getCommentsForUser
Copy Copy
1
2let (response, httpResponse) = client.getCommentsForUser(
3 userId = "user-8421",
4 direction = SortDirections.Newest,
5 repliesToUserId = "",
6 page = 1.0,
7 includei10n = true,
8 locale = "en-US",
9 isCrawler = false
10)
11
12if response.isSome:
13 let comments = response.get()
14 discard comments
15

addDomainConfig Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
addDomainConfigParamsAddDomainConfigParamsНі

Відповідь

Повертає: Option[AddDomainConfigResponse]

Приклад

Приклад addDomainConfig
Copy Copy
1
2let config = AddDomainConfigParams(
3 domain: "comments.example-news.com",
4 enabled: true,
5 allowedOrigins: @["https://www.example-news.com", "https://m.example-news.com"],
6 commentsPath: "/news/world/election-coverage",
7 priority: 5
8)
9let (response, httpResponse) = client.addDomainConfig(tenantId = "my-tenant-123", addDomainConfigParams = config)
10if response.isSome:
11 let created = response.get()
12 echo "Created domain config:", created
13else:
14 echo "Failed to create domain config, HTTP status:", httpResponse.status.code
15

deleteDomainConfig Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
domainstringНі

Відповідь

Повертає: Option[DeleteDomainConfigResponse]

Приклад

Приклад deleteDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.deleteDomainConfig(tenantId = "my-tenant-123", domain = "news.example.com")
3if response.isSome:
4 let deleted = response.get()
5 echo "DeleteDomainConfig succeeded for tenant ", "my-tenant-123"
6else:
7 echo "DeleteDomainConfig failed. HTTP status: ", $httpResponse.status
8

getDomainConfig Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
domainstringНі

Відповідь

Повертає: Option[GetDomainConfigResponse]

Приклад

Приклад getDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.getDomainConfig(tenantId = "my-tenant-123", domain = "news/top-story-2026")
3if response.isSome:
4 let cfg = response.get()
5 discard cfg
6else:
7 discard httpResponse
8

getDomainConfigs Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак

Відповідь

Повертає: Option[GetDomainConfigsResponse]

Приклад

Приклад getDomainConfigs
Copy Copy
1
2let (response, httpResponse) = client.getDomainConfigs(tenantId = "my-tenant-123")
3if response.isSome:
4 let domainConfigs = response.get()
5 echo "Received domain configs for tenant my-tenant-123"
6 echo domainConfigs
7else:
8 echo "No domain configs returned"
9

patchDomainConfig Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
domainToUpdatestringНі
patchDomainConfigParamsPatchDomainConfigParamsНі

Відповідь

Повертає: Option[PatchDomainConfigResponse]

Приклад

Приклад patchDomainConfig
Copy Copy
1
2let patchParams: PatchDomainConfigParams = PatchDomainConfigParams(
3 allowedOrigins = @["https://news.example.com", "https://cdn.news.com"],
4 enableComments = true,
5 moderationRequired = false,
6 maxCommentLength = 2000,
7 primaryDomain = "comments.news-site.com"
8)
9let (response, httpResponse) = client.patchDomainConfig(
10 tenantId = "my-tenant-123",
11 domainToUpdate = "comments.news-site.com",
12 patchDomainConfigParams = patchParams
13)
14if response.isSome:
15 let cfg = response.get()
16 echo "Patched domain config received:", cfg
17else:
18 echo "No response body, HTTP status:", httpResponse.statusCode
19

putDomainConfig Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
domainToUpdatestringНі
updateDomainConfigParamsUpdateDomainConfigParamsНі

Відповідь

Повертає: Option[PutDomainConfigResponse]

Приклад

Приклад putDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.putDomainConfig(
3 tenantId = "my-tenant-123",
4 domainToUpdate = "blog.example.com",
5 updateDomainConfigParams = UpdateDomainConfigParams(
6 allowAnonymous = false,
7 moderationEnabled = true,
8 maxCommentLength = 800,
9 allowedOrigins = @["https://blog.example.com", "https://cdn.blog.example.com"],
10 enableThreadedComments = true
11 )
12)
13
14if response.isSome:
15 let cfg = response.get()
16 echo cfg
17else:
18 echo "Failed to update domain config, HTTP status: ", httpResponse.status
19

createEmailTemplate Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createEmailTemplateBodyCreateEmailTemplateBodyНі

Відповідь

Повертає: Option[CreateEmailTemplateResponse]

Приклад

Приклад createEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.createEmailTemplate(tenantId = "my-tenant-123",
3 createEmailTemplateBody = CreateEmailTemplateBody(
4 name = "Weekly Newsletter",
5 subject = "This Week on NewsSite",
6 html = "<h1>Latest updates</h1><p>Read our latest article.</p>",
7 fromAddress = "no-reply@newssite.com",
8 isDefault = false,
9 tags = @["news", "weekly"]
10 )
11)
12
13if response.isSome:
14 let template = response.get()
15 echo "Created email template id: ", template.id
16

deleteEmailTemplate Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.deleteEmailTemplate(
3 tenantId = "my-tenant-123",
4 id = "welcome-email-template-001"
5)
6
7if response.isSome:
8 let apiEmpty = response.get()
9 discard apiEmpty
10 echo "Email template deleted successfully"
11else:
12 echo "No response body"
13

deleteEmailTemplateRenderError Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
errorIdstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteEmailTemplateRenderError
Copy Copy
1
2let (response, httpResponse) = client.deleteEmailTemplateRenderError(tenantId = "my-tenant-123", id = "welcome-email-template", errorId = "err-20250615-01")
3if response.isSome:
4 let emptyResp = response.get()
5 echo "Deleted render error, tenant:", "my-tenant-123"
6 echo "HTTP status:", httpResponse.status
7else:
8 echo "No body returned, HTTP status:", httpResponse.status
9

getEmailTemplate Internal Link


Параметри

Ім'яТипОбов'язковийОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetEmailTemplateResponse]

Приклад

Приклад getEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplate(tenantId = "my-tenant-123", id = "welcome-email-01")
3if response.isSome:
4 let template = response.get()
5 discard template
6

getEmailTemplateDefinitions Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак

Відповідь

Повертає: Option[GetEmailTemplateDefinitionsResponse]

Приклад

Приклад getEmailTemplateDefinitions
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplateDefinitions(tenantId = "my-tenant-123")
3if response.isSome:
4 let definitions = response.get()
5 echo "Email template definitions for my-tenant-123: ", definitions
6else:
7 echo "Failed to retrieve templates, HTTP status: ", httpResponse.status
8

getEmailTemplateRenderErrors Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
skipfloat64Ні

Відповідь

Повертає: Option[GetEmailTemplateRenderErrorsResponse]

Приклад

getEmailTemplateRenderErrors Приклад
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplateRenderErrors(tenantId = "my-tenant-123", id = "", skip = 0.0)
3if response.isSome:
4 let templateErrors = response.get()
5 discard templateErrors
6else:
7 discard httpResponse
8

getEmailTemplates Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetEmailTemplatesResponse]

Приклад

Приклад getEmailTemplates
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplates(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let templates = response.get()
5 echo templates
6else:
7 echo "No email templates available"
8

renderEmailTemplate Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
renderEmailTemplateBodyRenderEmailTemplateBodyНі
localestringНі

Відповідь

Повертає: Option[RenderEmailTemplateResponse]

Приклад

Приклад renderEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.renderEmailTemplate(
3 tenantId = "my-tenant-123",
4 renderEmailTemplateBody = RenderEmailTemplateBody(),
5 locale = "en-US"
6)
7
8if response.isSome:
9 let rendered = response.get()
10 echo rendered
11

updateEmailTemplate Internal Link

Параметри

Ім'яТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateEmailTemplateBodyUpdateEmailTemplateBodyНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateEmailTemplate
Copy Copy
1
2let updateBody = UpdateEmailTemplateBody(
3 subject = "Welcome to Newsly",
4 html = "<p>Thanks for joining Newsly! Visit https://newsly.example to get started.</p>",
5 fromAddress = "no-reply@newsly.example",
6 fromName = "Newsly Team",
7 enabled = true
8)
9let (response, httpResponse) = client.updateEmailTemplate(tenantId = "my-tenant-123", id = "welcome-email", updateEmailTemplateBody = updateBody)
10if response.isSome:
11 let result = response.get()
12 discard result
13else:
14 discard httpResponse.statusCode
15

getEventLog Internal Link

req tenantId urlId userIdWS

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
userIdWSstringНі
startTimeint64Ні
endTimeint64Ні

Відповідь

Повертає: Option[GetEventLogResponse]

Приклад

Приклад getEventLog
Copy Copy
1
2let (response, httpResponse) = client.getEventLog(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-2026-solar-panels",
5 userIdWS = "user-456",
6 startTime = 1688000000'i64,
7 endTime = 1688086400'i64
8)
9if response.isSome:
10 let eventLog = response.get()
11 discard eventLog
12

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
userIdWSstringНі
startTimeint64Ні
endTimeint64Ні

Відповідь

Повертає: Option[GetEventLogResponse]

Приклад

Приклад використання getGlobalEventLog
Copy Copy
1
2let (response, httpResponse) = client.getGlobalEventLog(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-2026-06-19",
5 userIdWS = "user-987",
6 startTime = int64(1622505600),
7 endTime = int64(1625097600)
8)
9if response.isSome:
10 let eventLog = response.get()
11 echo eventLog, httpResponse.statusCode
12

createFeedPost Internal Link


Параметри

NameTypeОбов'язковийОпис
tenantIdstringТак
createFeedPostParamsCreateFeedPostParamsНі
broadcastIdstringНі
isLiveboolНі
doSpamCheckboolНі
skipDupCheckboolНі

Відповідь

Повертає: Option[CreateFeedPostsResponse]

Приклад

Приклад createFeedPost
Copy Copy
1
2let postParams = CreateFeedPostParams(
3 title = "Major Acquisition by TechCorp",
4 content = "TechCorp has acquired SoftWorks in a deal valued at $1.2B, creating a new market leader.",
5 url = "news/tech/major-acquisition",
6 tags = @["business", "technology"],
7 authorId = "journalist-321"
8)
9
10let (response, httpResponse) = client.createFeedPost(
11 tenantId = "my-tenant-123",
12 createFeedPostParams = postParams,
13 broadcastId = "",
14 isLive = false,
15 doSpamCheck = false,
16 skipDupCheck = false
17)
18
19if response.isSome:
20 let created = response.get()
21 discard created
22

createFeedPostPublic Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createFeedPostParamsCreateFeedPostParamsНі
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[CreateFeedPostResponse]

Приклад

Приклад createFeedPostPublic
Copy Copy
1
2let params = CreateFeedPostParams(
3 title = "Breaking: Major Update on Product X",
4 content = "Today we released Product X v2.0 with performance improvements and bug fixes.",
5 author = "jane.doe",
6 tags = @["product", "release", "v2"],
7 isPinned = false
8)
9
10let (response, httpResponse) = client.createFeedPostPublic(tenantId = "my-tenant-123", createFeedPostParams = params, broadcastId = "", sso = "")
11
12if response.isSome:
13 let created = response.get()
14 echo "Created feed post:", created
15else:
16 echo "Failed to create feed post; HTTP status:", httpResponse.status
17

deleteFeedPostPublic Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
postIdstringНі
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[DeleteFeedPostPublicResponse]

Приклад

Приклад deleteFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteFeedPostPublic(tenantId = "my-tenant-123", postId = "", broadcastId = "", sso = "")
3if response.isSome:
4 let deleted = response.get()
5 echo "Delete successful"
6else:
7 echo "Delete failed"
8

getFeedPosts Internal Link


req tenantId afterId

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
afterIdstringНі
limitintНі
tagsseq[string]Ні

Відповідь

Повертає: Option[GetFeedPostsResponse]

Приклад

Приклад getFeedPosts
Copy Copy
1
2let (response, httpResponse) = client.getFeedPosts(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 limit = 0,
6 tags = @[]
7)
8if response.isSome:
9 let feed = response.get()
10 echo "Feed retrieved for tenant my-tenant-123"
11

getFeedPostsPublic Internal Link

req tenantId afterId

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
afterIdstringНі
limitintНі
tagsseq[string]Ні
ssostringНі
isCrawlerboolНі
includeUserInfoboolНі

Відповідь

Повертає: Option[PublicFeedPostsResponse]

Приклад

Приклад getFeedPostsPublic
Copy Copy
1
2let (response, httpResponse) = client.getFeedPostsPublic(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 limit = 0,
6 tags = @[],
7 sso = "",
8 isCrawler = false,
9 includeUserInfo = false
10)
11if response.isSome:
12 let feed = response.get()
13 discard feed
14

getFeedPostsStats Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
postIdsseq[string]Ні
ssostringНі

Відповідь

Повертає: Option[FeedPostsStatsResponse]

Приклад

Приклад getFeedPostsStats
Copy Copy
1
2let (response, httpResponse) = client.getFeedPostsStats(tenantId = "my-tenant-123", postIds = @["news/article-2026", "opinion/market-trends"], sso = "")
3if response.isSome:
4 let stats = response.get()
5 echo "Received feed posts stats for tenant:", " my-tenant-123"
6 discard stats
7

getUserReactsPublic Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
postIdsseq[string]Ні
ssostringНі

Відповідь

Повертає: Option[UserReactsResponse]

Приклад

Приклад getUserReactsPublic
Copy Copy
1
2let (response, httpResponse) = client.getUserReactsPublic(
3 tenantId = "my-tenant-123",
4 postIds = @["news/article-2026", "blog/opinion-987"],
5 sso = ""
6)
7if response.isSome:
8 let reacts = response.get()
9 echo "Received user reacts for tenant: ", "my-tenant-123"
10

reactFeedPostPublic Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
postIdstringНі
reactBodyParamsReactBodyParamsНі
isUndoboolНі
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[ReactFeedPostResponse]

Приклад

Приклад reactFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.reactFeedPostPublic(
3 tenantId = "my-tenant-123",
4 postId = "news/article-2026-06-19",
5 reactBodyParams = ReactBodyParams(reactType = "heart", tags = @["breaking", "editorial"]),
6 isUndo = false,
7 broadcastId = "broadcast-789",
8 sso = "sso-token-abc123"
9)
10if response.isSome:
11 let react = response.get()
12 echo react
13else:
14 echo "No response from reactFeedPostPublic, HTTP status:", httpResponse.statusCode
15

updateFeedPost Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
feedPostFeedPostНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateFeedPost
Copy Copy
1
2let feedPost: FeedPost = FeedPost(title: "City Council Approves New Waterfront Park",
3 content: "The council voted 5-2 to approve funding and a timeline for construction.",
4 tags: @["local", "parks", "city"],
5 published: true)
6
7let (response, httpResponse) = client.updateFeedPost(tenantId = "my-tenant-123", id = "post-456", feedPost = feedPost)
8
9if response.isSome:
10 let apiResp = response.get()
11 echo "Feed post updated successfully"
12 echo apiResp
13else:
14 echo "Failed to update feed post"
15 echo httpResponse
16

updateFeedPostPublic Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
postIdstringНі
updateFeedPostParamsUpdateFeedPostParamsНі
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[CreateFeedPostResponse]

Приклад

Приклад updateFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.updateFeedPostPublic(
3 tenantId = "my-tenant-123",
4 postId = "post-456",
5 updateFeedPostParams = UpdateFeedPostParams(title = "Weekly Product Update", content = "Released bug fixes and performance improvements in v2.1.", tags = @["release", "product"], pinned = false),
6 broadcastId = "",
7 sso = ""
8)
9if response.isSome:
10 let created = response.get()
11 echo "Updated feed post id: ", created.postId
12else:
13 echo "Update failed with HTTP status: ", httpResponse.status
14

flagCommentPublic Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
isFlaggedboolНі
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад flagCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.flagCommentPublic(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-456789",
5 isFlagged = true,
6 sso = ""
7)
8
9if response.isSome:
10 let apiResp = response.get()
11 discard apiResp
12else:
13 discard httpResponse
14

getGifLarge Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
largeInternalURLSanitizedstringНі

Відповідь

Повертає: Option[GifGetLargeResponse]

Приклад

Приклад getGifLarge
Copy Copy
1
2let (response, httpResponse) = client.getGifLarge(tenantId = "news-tenant-42", largeInternalURLSanitized = "")
3if response.isSome:
4 let gif = response.get()
5 echo "Received GifGetLargeResponse"
6 discard gif
7else:
8 echo "No gif returned, HTTP status: " & $httpResponse.status
9

getGifsSearch Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
searchstringНі
localestringНі
ratingstringНі
pagefloat64Ні

Відповідь

Повертає: Option[GetGifsSearchResponse]

Приклад

Приклад getGifsSearch
Copy Copy
1
2let (response, httpResponse) = client.getGifsSearch(
3 tenantId = "my-tenant-123",
4 search = "funny cat",
5 locale = "en-US",
6 rating = "PG",
7 page = 1.0
8)
9
10if response.isSome:
11 let gifs = response.get()
12 echo "Fetched GIFs response:", gifs
13

getGifsTrending Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
localestringНі
ratingstringНі
pagefloat64Ні

Відповідь

Повертає: Option[GetGifsTrendingResponse]

Приклад

Приклад getGifsTrending
Copy Copy
1
2let (response, httpResponse) = client.getGifsTrending(tenantId = "my-tenant-123",
3 locale = "en-US",
4 rating = "pg-13",
5 page = 1.0)
6if response.isSome:
7 let trending = response.get()
8

addHashTag Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
createHashTagBodyCreateHashTagBodyНі

Відповідь

Повертає: Option[CreateHashTagResponse]

Приклад

Приклад addHashTag
Copy Copy
1
2let (response, httpResponse) = client.addHashTag(tenantId = "my-tenant-123",
3 createHashTagBody = CreateHashTagBody(name = "Breaking News",
4 slug = "breaking-news",
5 description = "Major breaking news items",
6 color = "#ff0000",
7 isTrending = true,
8 aliases = @["breaking", "news"]))
9if response.isSome:
10 let created = response.get()
11 echo created
12

addHashTagsBulk Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
bulkCreateHashTagsBodyBulkCreateHashTagsBodyНі

Відповідь

Повертає: Option[BulkCreateHashTagsResponse]

Приклад

Приклад addHashTagsBulk
Copy Copy
1
2let (response, httpResponse) = client.addHashTagsBulk(tenantId = "my-tenant-123", bulkCreateHashTagsBody = BulkCreateHashTagsBody(hashTags = @["news", "breaking", "politics"], replaceExisting = false))
3if response.isSome:
4 let result = response.get()
5 echo "Bulk tags response:", result
6else:
7 echo "No response body, HTTP status:", httpResponse.statusCode
8

deleteHashTag Internal Link

Параметри

NameTypeRequiredDescription
tagstringНі
tenantIdstringТак
deleteHashTagRequestBodyDeleteHashTagRequestBodyНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteHashTag
Copy Copy
1
2let (response, httpResponse) = client.deleteHashTag(
3 tag = "",
4 tenantId = "my-tenant-123",
5 deleteHashTagRequestBody = DeleteHashTagRequestBody()
6)
7
8if response.isSome:
9 let emptyResp = response.get()
10 echo "Deleted hashtag for tenant my-tenant-123; response:", $emptyResp, " status:", $httpResponse.status
11else:
12 echo "No response body; status:", $httpResponse.status
13

getHashTags Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
pagefloat64Ні

Відповідь

Повертає: Option[GetHashTagsResponse]

Приклад

Приклад getHashTags
Copy Copy
1
2let (response, httpResponse) = client.getHashTags(tenantId = "news-portal-987", page = 2.0)
3if response.isSome:
4 let tagsResp = response.get()
5 echo "Received hashtags response"
6else:
7 echo "No hashtags returned"
8

patchHashTag Internal Link


Параметри

НазваТипОбов'язковоОпис
tagstringНі
tenantIdstringТак
updateHashTagBodyUpdateHashTagBodyНі

Відповідь

Повертає: Option[UpdateHashTagResponse]

Приклад

Приклад patchHashTag
Copy Copy
1
2let (response, httpResponse) = client.patchHashTag(tag = "breaking-news", tenantId = "my-tenant-123", updateHashTagBody = UpdateHashTagBody())
3if response.isSome:
4 let updatedHashTag = response.get()
5 echo updatedHashTag
6

deleteModerationVote Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
voteIdstringНі
ssostringНі

Відповідь

Повертає: Option[VoteDeleteResponse]

Приклад

Приклад deleteModerationVote
Copy Copy
1
2let (response, httpResponse) = client.deleteModerationVote(commentId = "my-tenant-123/news/article-title/comment-987", voteId = "vote-456", sso = "sso-token-abc")
3if response.isSome:
4 let voteResp = response.get()
5 echo "Vote deleted:", voteResp
6else:
7 echo "Delete failed:", httpResponse
8

getApiComments Internal Link

Параметри

NameTypeОбов'язковоОпис
pagefloat64Ні
countfloat64Ні
textSearchstringНі
byIPFromCommentstringНі
filtersstringНі
searchFiltersstringНі
sortsstringНі
demoboolНі
ssostringНі

Відповідь

Повертає: Option[ModerationAPIGetCommentsResponse]

Приклад

Приклад getApiComments
Copy Copy
1
2let (response, httpResponse) = client.getApiComments(
3 page = 1.0,
4 count = 25.0,
5 textSearch = "opinion on climate summit",
6 byIPFromComment = "198.51.100.23",
7 filters = "status:approved",
8 searchFilters = "section:world",
9 sorts = "-createdAt",
10 demo = false,
11 sso = "sso-user-982bf"
12)
13
14if response.isSome:
15 let commentsResp = response.get()
16 echo "Retrieved comments response"
17else:
18 echo "No comments returned, HTTP status: ", httpResponse.status
19

getApiExportStatus Internal Link


Параметри

НазваТипОбов'язковоОпис
batchJobIdstringНі
ssostringНі

Відповідь

Повертає: Option[ModerationExportStatusResponse]

Приклад

Приклад getApiExportStatus
Copy Copy
1
2let (response, httpResponse) = client.getApiExportStatus(batchJobId = "export-job-2026-06-01", sso = "sso-abc123token")
3if response.isSome:
4 let exportStatus = response.get()
5 echo repr(exportStatus)
6else:
7 echo "No export status available, HTTP code: ", httpResponse.statusCode
8

getApiIds Internal Link

Параметри

НазваТипОбов'язковоОпис
textSearchstringНі
byIPFromCommentstringНі
filtersstringНі
searchFiltersstringНі
afterIdstringНі
demoboolНі
ssostringНі

Відповідь

Повертає: Option[ModerationAPIGetCommentIdsResponse]

Приклад

Приклад getApiIds
Copy Copy
1
2let (response, httpResponse) = client.getApiIds(
3 textSearch = "urgent moderation review",
4 byIPFromComment = "203.0.113.45",
5 filters = "status:pending,flagged",
6 searchFilters = "author:jane.doe@example.com",
7 afterId = "cmt_9f8e7d6a",
8 demo = false,
9 sso = "sso-token-6b7f9a"
10)
11
12if response.isSome:
13 let idsResp = response.get()
14 echo idsResp
15

getBanUsersFromComment Internal Link


Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[GetBannedUsersFromCommentResponse]

Приклад

Приклад getBanUsersFromComment
Copy Copy
1
2let (response, httpResponse) = client.getBanUsersFromComment(commentId = "comment-98765", sso = "")
3if response.isSome:
4 let bannedResp = response.get()
5 discard bannedResp
6else:
7 echo "No banned users found or request failed"
8

getCommentBanStatus Internal Link

Параметри

Ім'яТипОбов'язковоОпис
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[GetCommentBanStatusResponse]

Приклад

Приклад getCommentBanStatus
Copy Copy
1
2let (response, httpResponse) = client.getCommentBanStatus(commentId = "cmt-987654321", sso = "")
3
4if response.isSome:
5 let banStatus = response.get()
6 echo "Ban status for comment cmt-987654321: ", banStatus
7else:
8 echo "No ban status returned for comment cmt-987654321"
9

getCommentChildren Internal Link

Параметри

Ім'яТипОбов'язковоОпис
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[ModerationAPIChildCommentsResponse]

Приклад

getCommentChildren Приклад
Copy Copy
1
2let (response, httpResponse) = client.getCommentChildren(commentId = "comment-98765", sso = "")
3if response.isSome:
4 let childResp = response.get()
5 discard childResp
6

getCount Internal Link

Параметри

НазваТипОбов'язковоОпис
textSearchstringНі
byIPFromCommentstringНі
filterstringНі
searchFiltersstringНі
demoboolНі
ssostringНі

Відповідь

Повертає: Option[ModerationAPICountCommentsResponse]

Приклад

Приклад getCount
Copy Copy
1
2let (response, httpResponse) = client.getCount(
3 textSearch = "climate change",
4 byIPFromComment = "203.0.113.5",
5 filter = "status:approved",
6 searchFilters = "author:john.doe@example.com;tag:opinion",
7 demo = false,
8 sso = "sso_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
9)
10if response.isSome:
11 let countResp = response.get()
12 discard countResp
13 echo "Count response received"
14else:
15 echo "No count data returned"
16

getCounts Internal Link

Параметри

НазваТипОбов'язковоОпис
ssostringНі

Відповідь

Повертає: Option[GetBannedUsersCountResponse]

Приклад

Приклад getCounts
Copy Copy
1
2let (response, httpResponse) = client.getCounts(sso = "sso_my-tenant-123_token_AbCdEf123456")
3if response.isSome:
4 let counts = response.get()
5 echo counts
6else:
7 echo "Request failed with status:", httpResponse.status
8

getLogs Internal Link

Параметри

NameTypeRequiredDescription
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[ModerationAPIGetLogsResponse]

Приклад

Приклад getLogs
Copy Copy
1
2let (response, httpResponse) = client.getLogs(commentId = "cmt-8471f2d3", sso = "")
3if response.isSome:
4 let logs = response.get()
5 echo "Fetched logs:", logs
6

getManualBadges Internal Link

Параметри

НазваTypeОбов'язковийОпис
ssostringНі

Відповідь

Повертає: Option[GetTenantManualBadgesResponse]

Приклад

Приклад getManualBadges
Copy Copy
1
2let (response, httpResponse) = client.getManualBadges(sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")
3if response.isSome:
4 let badges = response.get()
5 echo "Manual badges received:"
6 echo badges
7else:
8 echo "No manual badges returned."
9 echo httpResponse
10

getManualBadgesForUser Internal Link

Параметри

НазваТипОбов'язковийОпис
badgesUserIdstringНі
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[GetUserManualBadgesResponse]

Приклад

Приклад використання getManualBadgesForUser
Copy Copy
1
2let (response, httpResponse) = client.getManualBadgesForUser(
3 badgesUserId = "user-98765",
4 commentId = "comment-0a1b2c3d",
5 sso = "sso-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
6)
7if response.isSome:
8 let badges = response.get()
9 echo "Received manual badges for user"
10 echo "HTTP status: ", httpResponse.status
11

getModerationComment Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
includeEmailboolНі
includeIPboolНі
ssostringНі

Відповідь

Повертає: Option[ModerationAPICommentResponse]

Приклад

Приклад getModerationComment
Copy Copy
1
2let (response, httpResponse) = client.getModerationComment(commentId = "cmt-8f3b2a9d", includeEmail = false, includeIP = false, sso = "")
3if response.isSome:
4 let comment = response.get()
5 discard comment
6else:
7 echo "No moderation comment returned"
8

getModerationCommentText Internal Link


Параметри

НазваТипОбов'язковеОпис
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[GetCommentTextResponse]

Приклад

Приклад getModerationCommentText
Copy Copy
1
2let (response, httpResponse) = client.getModerationCommentText(commentId = "comment-9f8b7a6c", sso = "")
3if response.isSome:
4 let commentData = response.get()
5 echo "Moderation comment text retrieved"
6else:
7 echo "No moderation comment text available"
8

getPreBanSummary Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
includeByUserIdAndEmailboolНі
includeByIPboolНі
includeByEmailDomainboolНі
ssostringНі

Відповідь

Повертає: Option[PreBanSummary]

Приклад

Приклад getPreBanSummary
Copy Copy
1
2let commentId = "cmt-7423"
3let (response, httpResponse) = client.getPreBanSummary(
4 commentId = commentId,
5 includeByUserIdAndEmail = false,
6 includeByIP = false,
7 includeByEmailDomain = false,
8 sso = ""
9)
10if response.isSome:
11 let preBanSummary = response.get()
12 discard preBanSummary
13else:
14 discard httpResponse
15

getSearchCommentsSummary Internal Link

Параметри

НазваТипОбов'язковийОпис
valuestringНі
filtersstringНі
searchFiltersstringНі
ssostringНі

Відповідь

Повертає: Option[ModerationCommentSearchResponse]

Приклад

Приклад getSearchCommentsSummary
Copy Copy
1
2let (response, httpResponse) = client.getSearchCommentsSummary(
3 value = "news/climate-change-2026",
4 filters = "{\"tenantId\":\"my-tenant-123\",\"siteId\":\"main-site\",\"status\":\"approved\"}",
5 searchFilters = "author:journalist@news.com OR content:climate",
6 sso = "sso-xyz-7890"
7)
8if response.isSome:
9 let summary = response.get()
10 echo "Received summary: ", $summary
11else:
12 echo "No summary returned, HTTP response: ", $httpResponse
13

getSearchPages Internal Link

Параметри

НазваТипОбов'язковоОпис
valuestringНі
ssostringНі

Відповідь

Повертає: Option[ModerationPageSearchResponse]

Приклад

Приклад getSearchPages
Copy Copy
1
2let (response, httpResponse) = client.getSearchPages(value = "news/politics/election-2024", sso = "sso-user-7f3b9c")
3if response.isSome:
4 let pageSearch = response.get()
5 echo "Moderation page search returned"
6else:
7 echo "No moderation pages found"
8

getSearchSites Internal Link

Параметри

НазваТипОбов'язковеОпис
valuestringНі
ssostringНі

Відповідь

Повертає: Option[ModerationSiteSearchResponse]

Приклад

Приклад getSearchSites
Copy Copy
1
2let (response, httpResponse) = client.getSearchSites(value = "news/2026-olympics", sso = "sso-user-9876-token")
3if response.isSome:
4 let searchResponse: ModerationSiteSearchResponse = response.get()
5 echo "Found sites for search:", searchResponse
6

getSearchSuggest Internal Link

Параметри

НазваТипОбов'язковоОпис
textSearchstringНі
ssostringНі

Відповідь

Повертає: Option[ModerationSuggestResponse]

Приклад

Приклад getSearchSuggest
Copy Copy
1
2let (response, httpResponse) = client.getSearchSuggest(textSearch = "suspicious comment with spammy links", sso = "sso-user-789")
3if response.isSome:
4 let suggest = response.get()
5 echo "ModerationSuggestResponse:"
6 echo suggest
7else:
8 echo "No moderation suggestions returned. HTTP status: ", httpResponse.status
9

getSearchUsers Internal Link

Параметри

NameTypeRequiredDescription
valuestringНі
ssostringНі

Відповідь

Повертає: Option[ModerationUserSearchResponse]

Приклад

Приклад getSearchUsers
Copy Copy
1
2let (response, httpResponse) = client.getSearchUsers(value = "john.doe@example.com", sso = "sso-acme-789")
3if response.isSome:
4 let searchRes = response.get()
5 echo "Search result:", searchRes
6else:
7 echo "No users found"
8

getTrustFactor Internal Link

Параметри

НазваТипОбов'язковоОпис
userIdstringНі
ssostringНі

Відповідь

Повертає: Option[GetUserTrustFactorResponse]

Приклад

Приклад getTrustFactor
Copy Copy
1
2let (response, httpResponse) = client.getTrustFactor(userId = "user-1001", sso = "sso-token-6f7d9c")
3if response.isSome:
4 let trust = response.get()
5 echo "Received trust factor for user-1001"
6else:
7 echo "No trust factor returned, HTTP status: ", $httpResponse.status
8

getUserBanPreference Internal Link

Параметри

Ім'яТипОбов'язковеОпис
ssostringНі

Відповідь

Повертає: Option[APIModerateGetUserBanPreferencesResponse]

Приклад

Приклад getUserBanPreference
Copy Copy
1
2let (response, httpResponse) = client.getUserBanPreference(sso = "sso-jwt-7f3a9b")
3if response.isSome:
4 let prefs = response.get()
5 echo "User ban preferences:", prefs
6else:
7 echo "No ban preference found"
8

getUserInternalProfile Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[GetUserInternalProfileResponse]

Приклад

Приклад getUserInternalProfile
Copy Copy
1
2let (response, httpResponse) = client.getUserInternalProfile(commentId = "cmt-2026-00042", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoibXl1c2VyIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c")
3if response.isSome:
4 let profile = response.get()
5 discard profile
6

postAdjustCommentVotes Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
adjustCommentVotesParamsAdjustCommentVotesParamsНі
ssostringНі

Відповідь

Повертає: Option[AdjustVotesResponse]

Приклад

Приклад postAdjustCommentVotes
Copy Copy
1
2let (response, httpResponse) = client.postAdjustCommentVotes(commentId = "cmt-987654", adjustCommentVotesParams = nil, sso = "sso-token-abc123")
3if response.isSome:
4 let adjusted = response.get()
5 discard adjusted
6

postApiExport Internal Link

Параметри

НазваТипОбов'язковийОпис
textSearchstringНі
byIPFromCommentstringНі
filtersstringНі
searchFiltersstringНі
sortsstringНі
ssostringНі

Відповідь

Повертає: Option[ModerationExportResponse]

Приклад

Приклад postApiExport
Copy Copy
1
2let (response, httpResponse) = client.postApiExport(
3 textSearch = "offensive language and spam",
4 byIPFromComment = "203.0.113.45",
5 filters = "{\"status\":\"pending\",\"severity\":\"high\"}",
6 searchFilters = "authorEmail:editor@news-site.com",
7 sorts = "-createdAt",
8 sso = "sso-session-token-9f8b7c"
9)
10if response.isSome:
11 let exportResp = response.get()
12 echo "Moderation export received:", exportResp
13else:
14 echo "No export returned, HTTP status:", httpResponse.status.code
15

postBanUserFromComment Internal Link

Параметри

НазваТипОбов'язковеОпис
commentIdstringТак
banEmailboolНі
banEmailDomainboolНі
banIPboolНі
deleteAllUsersCommentsboolНі
bannedUntilstringНі
isShadowBanboolНі
updateIdstringНі
banReasonstringНі
ssostringНі

Відповідь

Повертає: Option[BanUserFromCommentResult]

Приклад

Приклад postBanUserFromComment
Copy Copy
1
2let (response, httpResponse) = client.postBanUserFromComment(
3 commentId = "cmt-8f3a1b",
4 banEmail = false,
5 banEmailDomain = false,
6 banIP = false,
7 deleteAllUsersComments = false,
8 bannedUntil = "",
9 isShadowBan = false,
10 updateId = "",
11 banReason = "",
12 sso = ""
13)
14if response.isSome:
15 let banResult = response.get()
16 discard banResult
17else:
18 echo "No ban result returned"
19

postBanUserUndo Internal Link

Параметри

НазваТипОбов'язковеОпис
banUserUndoParamsBanUserUndoParamsНі
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад postBanUserUndo
Copy Copy
1
2let banParams = BanUserUndoParams(
3 tenantId = "my-tenant-123",
4 userId = "user-987",
5 undoneBy = "moderator-42",
6 reason = "Reinstated after manual review"
7)
8let (response, httpResponse) = client.postBanUserUndo(banUserUndoParams = banParams, sso = "sso-jwt-abc123")
9if response.isSome:
10 let apiResp = response.get()
11 echo "Ban undo succeeded, http status: " & $httpResponse.status
12else:
13 echo "Ban undo failed, http status: " & $httpResponse.status
14

postBulkPreBanSummary Internal Link

Параметри

НазваТипОбов'язковоОпис
bulkPreBanParamsBulkPreBanParamsНі
includeByUserIdAndEmailboolНі
includeByIPboolНі
includeByEmailDomainboolНі
ssostringНі

Відповідь

Повертає: Option[BulkPreBanSummary]

Приклад

Приклад postBulkPreBanSummary
Copy Copy
1
2let bulkParams = BulkPreBanParams(
3 tenantId = "my-tenant-123",
4 userIds = @["user-456", "user-789"],
5 emails = @["spammer@example.com", "bot@malicious.org"],
6 ipAddresses = @["203.0.113.5", "198.51.100.42"],
7 emailDomains = @["malicious.org"]
8)
9
10let (response, httpResponse) = client.postBulkPreBanSummary(
11 bulkPreBanParams = bulkParams,
12 includeByUserIdAndEmail = true,
13 includeByIP = true,
14 includeByEmailDomain = false,
15 sso = "sso-token-abc123"
16)
17
18if response.isSome:
19 let summary = response.get()
20 echo "Pre-ban summary:", summary
21

postCommentsByIds Internal Link

Параметри

НазваTypeОбов'язковийОпис
commentsByIdsParamsCommentsByIdsParamsНі
ssostringНі

Відповідь

Повертає: Option[ModerationAPIChildCommentsResponse]

Приклад

postCommentsByIds Приклад
Copy Copy
1
2let commentsParams = CommentsByIdsParams(ids = @["cmt-1001", "cmt-1002"], includeReplies = true, maxDepth = 2)
3let (response, httpResponse) = client.postCommentsByIds(commentsByIdsParams = commentsParams, sso = "sso-user-7f3a9b")
4if response.isSome:
5 let result = response.get()
6 echo "Received child comments response: ", result
7

postFlagComment Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад postFlagComment
Copy Copy
1
2let (response, httpResponse) = client.postFlagComment(commentId = "comment-742", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Comment flagged successfully"
6else:
7 echo "Failed to flag comment"
8

postRemoveComment Internal Link

Параметри

NameTypeRequiredDescription
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[PostRemoveCommentResponse]

Приклад

Приклад postRemoveComment
Copy Copy
1
2let (response, httpResponse) = client.postRemoveComment(commentId = "cmt-987654321", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.abc123.signature")
3if response.isSome:
4 let removed = response.get()
5 echo "Comment removed:", removed
6else:
7 echo "Failed to remove comment, HTTP response:", httpResponse
8

postRestoreDeletedComment Internal Link

Параметри

NameTypeRequiredDescription
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад postRestoreDeletedComment
Copy Copy
1
2let (response, httpResponse) = client.postRestoreDeletedComment(commentId = "comment-8a7b6c5d", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.SAMPLE_SIGNATURE")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Comment restored:", apiResp
6else:
7 echo "Restore request failed"
8

postSetCommentApprovalStatus Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
approvedboolНі
ssostringНі

Відповідь

Повертає: Option[SetCommentApprovedResponse]

Приклад

postSetCommentApprovalStatus Приклад
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentApprovalStatus(commentId = "cmt-7890", approved = false, sso = "")
3if response.isSome:
4 let setResp = response.get()
5 discard setResp
6

postSetCommentReviewStatus Internal Link

Параметри

NameTypeRequiredDescription
commentIdstringТак
reviewedboolНі
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад postSetCommentReviewStatus
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentReviewStatus(
3 commentId = "cmt-98765-news-article",
4 reviewed = false,
5 sso = ""
6)
7if response.isSome:
8 let apiResp = response.get()
9 echo "Review status updated"
10else:
11 echo "Failed to update review status: " & $httpResponse.status
12

postSetCommentSpamStatus Internal Link

Параметри

НазваТипОбов'язковоОпис
commentIdstringТак
spamboolНі
permNotSpamboolНі
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад postSetCommentSpamStatus
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentSpamStatus(
3 commentId = "cmt-20250619-842",
4 spam = false,
5 permNotSpam = false,
6 sso = ""
7)
8if response.isSome:
9 let apiEmpty = response.get()
10 discard apiEmpty
11

postSetCommentText Internal Link

Параметри

НазваТипОбов'язковийОпис
commentIdstringТак
setCommentTextParamsSetCommentTextParamsНі
ssostringНі

Відповідь

Повертає: Option[SetCommentTextResponse]

Приклад

Приклад postSetCommentText
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentText(commentId = "comment-4821",
3 setCommentTextParams = SetCommentTextParams(text = "Updated comment to clarify the main point and fix a typo."),
4 sso = "sso-user-8f3b9c")
5
6if response.isSome:
7 let setCommentResp = response.get()
8 echo "Received SetCommentTextResponse"
9

postUnFlagComment Internal Link

Параметри

НазваТипОбов'язковийОпис
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад postUnFlagComment
Copy Copy
1
2let (response, httpResponse) = client.postUnFlagComment(commentId = "comment-8f3a2b4e", sso = "")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Comment unflagged successfully, response: ", apiEmpty
6else:
7 echo "Failed to unflag comment. HTTP response: ", httpResponse
8

postVote Internal Link

Параметри

НазваТипОбов'язковийОпис
commentIdstringYes
directionstringNo
ssostringNo

Відповідь

Повертає: Option[VoteResponse]

Приклад

Приклад postVote
Copy Copy
1
2let (response, httpResponse) = client.postVote(commentId = "comment-4f3a9e", direction = "up", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoidXNlci0xMjMifQ.signedPart")
3if response.isSome:
4 let vote = response.get()
5 echo "Vote recorded:", vote
6else:
7 echo "No vote returned"
8

putAwardBadge Internal Link

Параметри

НазваТипОбов'язковоОпис
badgeIdstringНі
userIdstringНі
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[AwardUserBadgeResponse]

Приклад

Приклад putAwardBadge
Copy Copy
1
2let (response, httpResponse) = client.putAwardBadge(
3 badgeId = "gold-contributor",
4 userId = "user-8723",
5 commentId = "cmt-54a3b2",
6 broadcastId = "",
7 sso = ""
8)
9if response.isSome:
10 let award = response.get()
11 echo "Awarded badge received"
12else:
13 echo "No award response"
14

putCloseThread Internal Link


Параметри

НазваТипОбов'язковеОпис
urlIdstringТак
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад використання putCloseThread
Copy Copy
1
2let (response, httpResponse) = client.putCloseThread(urlId = "news/article-title", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Thread closed successfully:", $apiResp
6else:
7 echo "Failed to close thread, HTTP response:", $httpResponse
8

putRemoveBadge Internal Link

Параметри

НазваТипОбов'язковоОпис
badgeIdstringНі
userIdstringНі
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[RemoveUserBadgeResponse]

Приклад

putRemoveBadge Приклад
Copy Copy
1
2let (response, httpResponse) = client.putRemoveBadge(badgeId = "verified-journalist",
3 userId = "user-7890",
4 commentId = "comment-98765",
5 broadcastId = "",
6 sso = "")
7
8if response.isSome:
9 let removeResp = response.get()
10 discard removeResp
11else:
12 discard httpResponse
13

putReopenThread Internal Link

Параметри

НазваТипОбов'язковоОпис
urlIdstringТак
ssostringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад putReopenThread
Copy Copy
1
2let (response, httpResponse) = client.putReopenThread(urlId = "news/2026-election-analysis", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Reopen succeeded, response: ", apiResp
6else:
7 echo "Reopen failed, HTTP status: ", httpResponse.status
8

setTrustFactor Internal Link

Параметри

НазваТипОбов'язковийОпис
userIdstringНі
trustFactorstringНі
ssostringНі

Відповідь

Повертає: Option[SetUserTrustFactorResponse]

Приклад

Приклад setTrustFactor
Copy Copy
1
2let (response, httpResponse) = client.setTrustFactor(userId = "user-9876", trustFactor = "high", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTk4NzYiLCJpYXQiOjE2MjQwMDAwMDB9.signature")
3if response.isSome:
4 let resultObj = response.get()
5 echo resultObj
6else:
7 echo "No response received"
8

createModerator Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createModeratorBodyCreateModeratorBodyНі

Відповідь

Повертає: Option[CreateModeratorResponse]

Приклад

Приклад createModerator
Copy Copy
1
2var body: CreateModeratorBody
3body.username = "alice.moderator"
4body.displayName = "Alice Moderator"
5body.email = "alice@news-site.com"
6body.enabled = true
7body.roles = @["moderator"]
8body.notes = ""
9
10let (response, httpResponse) = client.createModerator(tenantId = "my-tenant-123", createModeratorBody = body)
11if response.isSome:
12 let created = response.get()
13 echo "Created moderator ID: ", created.id
14

deleteModerator Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
sendEmailstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

deleteModerator Приклад
Copy Copy
1
2let (response, httpResponse) = client.deleteModerator(tenantId = "my-tenant-123", id = "", sendEmail = "")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Moderator deleted successfully for tenant my-tenant-123"
6else:
7 echo "No response returned; inspect httpResponse"
8

getModerator Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetModeratorResponse]

Приклад

Приклад getModerator
Copy Copy
1
2let (response, httpResponse) = client.getModerator(tenantId = "my-tenant-123", id = "mod-456")
3if response.isSome:
4 let moderator = response.get()
5 echo moderator
6else:
7 echo "Moderator not found, HTTP status: ", $httpResponse.status
8

getModerators Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetModeratorsResponse]

Приклад

Приклад getModerators
Copy Copy
1
2let (response, httpResponse) = client.getModerators(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let moderators = response.get()
5 echo "Received moderators response:", moderators
6else:
7 echo "No moderators returned"
8

updateModerator Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
updateModeratorBodyUpdateModeratorBodyНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateModerator
Copy Copy
1
2let modBody: UpdateModeratorBody = UpdateModeratorBody(
3 displayName = "Alice Moderator",
4 email = "alice@newsdaily.com",
5 isActive = true,
6 permissions = @["delete_comments", "ban_users"]
7)
8
9let (response, httpResponse) = client.updateModerator(tenantId = "news-tenant-456", id = "moderator-789", updateModeratorBody = modBody)
10
11if response.isSome:
12 let apiEmpty = response.get()
13 echo "Moderator updated successfully. HTTP status: ", httpResponse.status
14else:
15 echo "Failed to update moderator. HTTP status: ", httpResponse.status
16

deleteNotificationCount Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.deleteNotificationCount(tenantId = "my-tenant-123", id = "notification-789")
3if response.isSome:
4 let emptyResp = response.get()
5 echo "Notification count deleted for tenant: ", "my-tenant-123"
6else:
7 echo "Failed to delete notification count, status: ", $httpResponse.statusCode
8

getCachedNotificationCount Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetCachedNotificationCountResponse]

Приклад

Приклад getCachedNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getCachedNotificationCount(tenantId = "my-tenant-123", id = "notification-789")
3if response.isSome:
4 let cached = response.get()
5 echo "Cached notification count: ", $cached
6else:
7 echo "No cached notification count"
8

getNotificationCount Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
userIdstringНі
urlIdstringТак
fromCommentIdstringНі
viewedboolНі

Відповідь

Повертає: Option[GetNotificationCountResponse]

Приклад

Приклад getNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getNotificationCount(tenantId = "my-tenant-123", userId = "user-987", urlId = "news/2026/06/election-results", fromCommentId = "", viewed = false)
3if response.isSome:
4 let notifyData = response.get()
5 echo notifyData
6

getNotifications Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
urlIdstringТак
fromCommentIdstringНі
viewedboolНі
skipfloat64Ні

Відповідь

Повертає: Option[GetNotificationsResponse]

Приклад

Приклад getNotifications
Copy Copy
1
2let (response, httpResponse) = client.getNotifications(tenantId = "my-tenant-123", userId = "user-456", urlId = "news/article-title", fromCommentId = "cmt-789", viewed = false, skip = 0.0)
3if response.isSome:
4 let notifications = response.get()
5 echo notifications
6

updateNotification Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
updateNotificationBodyUpdateNotificationBodyНі
userIdstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateNotification
Copy Copy
1
2let (response, httpResponse) = client.updateNotification(
3 tenantId = "my-tenant-123",
4 id = "notif-456",
5 updateNotificationBody = UpdateNotificationBody(
6 enabled = true,
7 channels = @["email", "push"],
8 frequency = "immediate"
9 ),
10 userId = "user-789"
11)
12
13if response.isSome:
14 let apiEmpty = response.get()
15 discard apiEmpty
16

createV1PageReact Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
urlIdstringТак
titlestringНі

Відповідь

Повертає: Option[CreateV1PageReact]

Приклад

Приклад createV1PageReact
Copy Copy
1
2let (response, httpResponse) = client.createV1PageReact(
3 tenantId = "my-tenant-123",
4 urlId = "news/2026/market-rally",
5 title = "Breaking News: Markets Rally Today"
6)
7
8if response.isSome:
9 let pageReact = response.get()
10 echo "Page react created: ", pageReact
11else:
12 echo "Failed to create page react: ", httpResponse
13

createV2PageReact Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringТак
urlIdstringТак
idstringНі
titlestringНі

Відповідь

Повертає: Option[CreateV1PageReact]

Приклад

Приклад createV2PageReact
Copy Copy
1
2let (response, httpResponse) = client.createV2PageReact(
3 tenantId = "my-tenant-123",
4 urlId = "news/2026/06/fastcomments-release",
5 id = "",
6 title = ""
7)
8if response.isSome:
9 let react = response.get()
10 echo "Created page react: ", $react
11else:
12 echo "No react returned, HTTP status: ", $httpResponse.statusCode
13

deleteV1PageReact Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак

Відповідь

Повертає: Option[CreateV1PageReact]

Приклад

Приклад deleteV1PageReact
Copy Copy
1
2let (response, httpResponse) = client.deleteV1PageReact(tenantId = "my-tenant-123", urlId = "news/article-title")
3if response.isSome:
4 let deletedReact = response.get()
5 echo "Deleted react:", deletedReact
6else:
7 echo "No react returned for tenant: my-tenant-123, url: news/article-title"
8

deleteV2PageReact Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
urlIdstringТак
idstringНі

Відповідь

Повертає: Option[CreateV1PageReact]

Приклад

Приклад deleteV2PageReact
Copy Copy
1
2let (response, httpResponse) = client.deleteV2PageReact(tenantId = "my-tenant-123", urlId = "news/2026/politics-election", id = "react-456")
3if response.isSome:
4 let react = response.get()
5 echo react
6else:
7 echo "No reaction returned, status: ", httpResponse.status
8

getV1PageLikes Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes

Відповідь

Повертає: Option[GetV1PageLikes]

Приклад

Приклад getV1PageLikes
Copy Copy
1
2let (response, httpResponse) = client.getV1PageLikes(tenantId = "my-tenant-123", urlId = "news/how-to-train-your-dragon")
3if response.isSome:
4 let pageLikes = response.get()
5 echo "Fetched page likes for url:", "news/how-to-train-your-dragon"
6else:
7 echo "No likes returned for url:", "news/how-to-train-your-dragon"
8

getV2PageReacts Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак

Відповідь

Повертає: Option[GetV2PageReacts]

Приклад

Приклад getV2PageReacts
Copy Copy
1
2let (response, httpResponse) = client.getV2PageReacts(tenantId = "my-tenant-123", urlId = "news/elections/2026/us-primary-results")
3if response.isSome:
4 let reacts = response.get()
5 echo "Received reacts: ", $reacts
6else:
7 echo "No reacts available"
8

getV2PageReactUsers Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
idstringНі

Відповідь

Повертає: Option[GetV2PageReactUsersResponse]

Приклад

Приклад getV2PageReactUsers
Copy Copy
1
2let (response, httpResponse) = client.getV2PageReactUsers(tenantId = "my-tenant-123", urlId = "news/article-title", id = "")
3if response.isSome:
4 let usersResp = response.get()
5 echo repr(usersResp)
6else:
7 echo "No page react users returned. HTTP response: ", repr(httpResponse)
8

addPage Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createAPIPageDataCreateAPIPageDataНі

Відповідь

Повертає: Option[AddPageAPIResponse]

Приклад

Приклад addPage
Copy Copy
1
2var createData: CreateAPIPageData
3createData.url = "news/nim-4-release"
4createData.title = "Nim 4 Release Coverage"
5createData.path = "/news/nim-4-release"
6createData.isEnabled = true
7createData.tags = @["nim", "release"]
8createData.description = "Coverage of Nim 4 release"
9
10let (response, httpResponse) = client.addPage(tenantId = "my-tenant-123", createAPIPageData = createData)
11
12if response.isSome:
13 let pageResp = response.get()
14 echo pageResp
15

deletePage Internal Link

Parameters

НазваТипОбов'язковеОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[DeletePageAPIResponse]

Приклад

Приклад deletePage
Copy Copy
1
2let (response, httpResponse) = client.deletePage(tenantId = "site-tenant-456", id = "news/winter-updates-2025")
3if response.isSome:
4 let deleted = response.get()
5 echo "DeletePageAPIResponse:", deleted
6else:
7 echo "Delete failed, HTTP response:", httpResponse
8

getOfflineUsers Internal Link


Попередні коментатори на сторінці, які наразі не онлайн. Відсортовано за displayName. Використовуйте це після вичерпання /users/online, щоб відобразити розділ "Учасники". Курсорна пагінація за commenterName: сервер проходить частковий індекс {tenantId, urlId, commenterName} від afterName вперед за допомогою $gt, без витрат на $skip.

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
urlIdstringТак
afterNamestringНі
afterUserIdstringНі

Відповідь

Повертає: Option[PageUsersOfflineResponse]

Приклад

Приклад getOfflineUsers
Copy Copy
1
2let (response, httpResponse) = client.getOfflineUsers(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-how-to-code",
5 afterName = "",
6 afterUserId = ""
7)
8
9if response.isSome:
10 let offlinePage = response.get()
11 echo "Received offline users page"
12 discard httpResponse.statusCode
13

getOnlineUsers Internal Link

Користувачі, які наразі онлайн на сторінці: люди, чиї websocket-сесії наразі підписані на цю сторінку. Повертає anonCount + totalCount (підписники кімнати, включно з анонімними глядачами, яких ми не перераховуємо).

Параметри

NameTypeRequiredDescription
tenantIdstringТак
urlIdstringТак
afterNamestringНі
afterUserIdstringНі

Відповідь

Повертає: Option[PageUsersOnlineResponse]

Приклад

Приклад getOnlineUsers
Copy Copy
1
2let (response, httpResponse) = client.getOnlineUsers(tenantId = "my-tenant-123", urlId = "news/politics/top-story", afterName = "", afterUserId = "")
3if response.isSome:
4 let page = response.get()
5 echo "Received online users page:"
6 echo page
7else:
8 echo "No online users returned. HTTP status: ", httpResponse.statusCode
9

getPageByURLId Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringТак
urlIdstringТак

Відповідь

Повертає: Option[GetPageByURLIdAPIResponse]

Приклад

Приклад getPageByURLId
Copy Copy
1
2let (response, httpResponse) = client.getPageByURLId(tenantId = "my-tenant-123", urlId = "news/article-title")
3if response.isSome:
4 let page = response.get()
5 echo "Page ID: ", page.id
6 echo "Title: ", page.title
7 echo "URL: ", page.url
8 echo "Published: ", $page.published
9 echo "Tags: ", $page.tags
10else:
11 echo "No page found. HTTP status: ", httpResponse.statusCode
12

getPages Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак

Відповідь

Повертає: Option[GetPagesAPIResponse]

Приклад

Приклад getPages
Copy Copy
1
2let (response, httpResponse) = client.getPages(tenantId = "news-site-456")
3if response.isSome:
4 let pages = response.get()
5 echo "Received pages response: ", pages
6else:
7 echo "No pages returned. HTTP response: ", httpResponse
8

getPagesPublic Internal Link


Перелік сторінок для тенанта. Використовується десктопним клієнтом FChat для заповнення його списку кімнат. Потребує, щоб enableFChat було true у розв'язаній користувацькій конфігурації для кожної сторінки. Сторінки, які вимагають SSO, фільтруються згідно з груповим доступом користувача, що робить запит.

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
cursorstringNo
limitintNo
qstringNo
sortByPagesSortByNo
hasCommentsboolNo

Відповідь

Повертає: Option[GetPublicPagesResponse]

Приклад

Приклад getPagesPublic
Copy Copy
1
2let (response, httpResponse) = client.getPagesPublic(
3 tenantId = "my-tenant-123",
4 cursor = "",
5 limit = 0,
6 q = "",
7 sortBy = PagesSortBy(0),
8 hasComments = false
9)
10
11if response.isSome:
12 let pages = response.get()
13 echo "Retrieved public pages: ", $pages
14else:
15 echo "No pages returned, HTTP status: ", $httpResponse.status
16

getUsersInfo Internal Link

Пакетна інформація про користувачів для орендаря. За заданими userIds повертає інформацію для відображення з User / SSOUser. Використовується віджетом коментарів для збагачення користувачів, які щойно з'явилися через подію присутності. Без контексту сторінки: приватність застосовується однаково (приватні профілі приховуються).

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idsstringНі

Відповідь

Повертає: Option[PageUsersInfoResponse]

Приклад

Приклад використання getUsersInfo
Copy Copy
1
2let (response, httpResponse) = client.getUsersInfo(tenantId = "my-tenant-123", ids = "user-42,user-87")
3if response.isSome:
4 let usersInfo = response.get()
5 echo "Retrieved users info:", usersInfo
6else:
7 echo "No users info returned. HTTP status:", httpResponse.status
8

patchPage Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
updateAPIPageDataUpdateAPIPageDataНі

Відповідь

Повертає: Option[PatchPageAPIResponse]

Приклад

Приклад patchPage
Copy Copy
1
2let updateData = UpdateAPIPageData(
3 title = "Breaking: Major Event Update",
4 urlId = "news/major-event-update",
5 visible = true,
6 tags = @["breaking", "headline"],
7 sortOrder = 5
8)
9
10let (response, httpResponse) = client.patchPage(
11 tenantId = "my-tenant-123",
12 id = "news/major-event-update",
13 updateAPIPageData = updateData
14)
15
16if response.isSome:
17 let page = response.get()
18 discard page
19

deletePendingWebhookEvent Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deletePendingWebhookEvent
Copy Copy
1
2let (response, httpResponse) = client.deletePendingWebhookEvent(tenantId = "my-tenant-123", id = "wh_evt_9f8b7a6c")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Pending webhook event deleted for tenant my-tenant-123"
6else:
7 echo "Failed to delete pending webhook event"
8

getPendingWebhookEventCount Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
externalIdstringНі
eventTypestringНі
domainstringНі
attemptCountGTfloat64Ні

Відповідь

Повертає: Option[GetPendingWebhookEventCountResponse]

Приклад

Приклад getPendingWebhookEventCount
Copy Copy
1
2let (response, httpResponse) = client.getPendingWebhookEventCount(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-456abc",
5 externalId = "ext-7890",
6 eventType = "comment_created",
7 domain = "news.example.com",
8 attemptCountGT = 2.0
9)
10
11if response.isSome:
12 let pending = response.get()
13 echo pending
14else:
15 echo "No pending webhook event count returned; HTTP status: ", httpResponse.status
16

getPendingWebhookEvents Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringТак
commentIdstringТак
externalIdstringНі
eventTypestringНі
domainstringНі
attemptCountGTfloat64Ні
skipfloat64Ні

Response

Повертає: Option[GetPendingWebhookEventsResponse]

Example

Приклад getPendingWebhookEvents
Copy Copy
1
2let (response, httpResponse) = client.getPendingWebhookEvents(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654",
5 externalId = "",
6 eventType = "",
7 domain = "",
8 attemptCountGT = 0.0,
9 skip = 0.0
10)
11if response.isSome:
12 let pending = response.get()
13 discard pending
14

createQuestionConfig Internal Link

Параметри

НазваTypeОбов'язковоОпис
tenantIdstringТак
createQuestionConfigBodyCreateQuestionConfigBodyНі

Відповідь

Повертає: Option[CreateQuestionConfigResponse]

Приклад

Приклад createQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.createQuestionConfig(
3 tenantId = "my-tenant-123",
4 createQuestionConfigBody = CreateQuestionConfigBody(
5 label = "Article Question",
6 required = true,
7 minLength = 20,
8 maxLength = 1000,
9 allowedTags = @["comment","question","feedback"],
10 notifyModerators = false
11 )
12)
13if response.isSome:
14 let cfg = response.get()
15 echo "Created question config id: ", cfg.id
16

deleteQuestionConfig Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.deleteQuestionConfig(tenantId = "my-tenant-123", id = "")
3
4if response.isSome:
5 let deleted = response.get()
6 echo "Question config deleted for tenant: ", "my-tenant-123"
7else:
8 echo "Failed to delete question config"
9

getQuestionConfig Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetQuestionConfigResponse]

Приклад

Приклад getQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfig(tenantId = "my-tenant-123", id = "qst-456")
3if response.isSome:
4 let cfg = response.get()
5 discard cfg
6

getQuestionConfigs Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetQuestionConfigsResponse]

Приклад

Приклад getQuestionConfigs
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfigs(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let configs = response.get()
5 echo "Received question configs for tenant my-tenant-123"
6 echo configs
7else:
8 echo "No question configs returned"
9

updateQuestionConfig Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
updateQuestionConfigBodyUpdateQuestionConfigBodyНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.updateQuestionConfig(tenantId = "my-tenant-123", id = "question-config-456", updateQuestionConfigBody = default(UpdateQuestionConfigBody))
3if response.isSome:
4 let apiEmpty = response.get()
5 discard apiEmpty
6

createQuestionResult Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
createQuestionResultBodyCreateQuestionResultBodyНі

Відповідь

Повертає: Option[CreateQuestionResultResponse]

Приклад

Приклад createQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.createQuestionResult(
3 tenantId = "my-tenant-123",
4 createQuestionResultBody = CreateQuestionResultBody(
5 questionId = "q-2026-001",
6 userId = "user-42",
7 correct = true,
8 score = 95,
9 tags = @["news","reader-question"]
10 )
11)
12if response.isSome:
13 let result = response.get()
14 echo "Created question result id: ", result.id
15 echo "HTTP status: ", httpResponse.status.code
16

deleteQuestionResult Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteQuestionResult
Copy Copy
1
2let tenantId = "my-tenant-123"
3let resultId = "question-result-456"
4let (response, httpResponse) = client.deleteQuestionResult(tenantId = tenantId, id = resultId)
5if response.isSome:
6 let emptyResp = response.get()
7 echo "Deleted question result:", resultId
8

getQuestionResult Internal Link

Параметри

NameTypeRequiredОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetQuestionResultResponse]

Приклад

Приклад getQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.getQuestionResult(tenantId = "my-tenant-123", id = "question-456")
3if response.isSome:
4 let result = response.get()
5 echo "Question result received:"
6 echo result
7else:
8 echo "No question result returned, HTTP status: ", $httpResponse.status
9

getQuestionResults Internal Link

Параметри

Ім'яТипОбов'язковийОпис
tenantIdstringТак
urlIdstringТак
userIdstringНі
startDatestringНі
questionIdstringНі
questionIdsstringНі
skipfloat64Ні

Відповідь

Повертає: Option[GetQuestionResultsResponse]

Приклад

getQuestionResults Приклад
Copy Copy
1
2let (response, httpResponse) = client.getQuestionResults(
3 tenantId = "my-tenant-123",
4 urlId = "news/2026/election-analysis",
5 userId = "user-42",
6 startDate = "2026-06-01T00:00:00Z",
7 questionId = "q-6789",
8 questionIds = @["q-6789", "q-6790"],
9 skip = 0.0
10)
11if response.isSome:
12 let results = response.get()
13 echo "Received question results"
14else:
15 echo "No results returned"
16

updateQuestionResult Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
idstringНі
updateQuestionResultBodyUpdateQuestionResultBodyНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад використання updateQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.updateQuestionResult(
3 tenantId = "my-tenant-123",
4 id = "question-result-456",
5 updateQuestionResultBody = UpdateQuestionResultBody(
6 questionId: "q-789",
7 userId: "user-42",
8 score: 92,
9 passed: true,
10 tags: @["quiz", "math"]
11 )
12)
13if response.isSome:
14 let apiResp = response.get()
15 echo "Question result updated successfully"
16else:
17 echo "No response body; HTTP status: ", httpResponse.status.code
18

aggregateQuestionResults Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
questionIdstringНі
questionIdsseq[string]Ні
urlIdstringТак
timeBucketAggregateTimeBucketНі
startDatestringНі
forceRecalculateboolНі

Відповідь

Повертає: Option[AggregateQuestionResultsResponse]

Приклад

Приклад aggregateQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.aggregateQuestionResults(
3 tenantId = "my-tenant-123",
4 questionId = "",
5 questionIds = @[],
6 urlId = "news/article-title",
7 timeBucket = AggregateTimeBucket(0),
8 startDate = "",
9 forceRecalculate = false
10)
11
12if response.isSome:
13 let results = response.get()
14 discard results
15

bulkAggregateQuestionResults Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestНі
forceRecalculateboolНі

Відповідь

Повертає: Option[BulkAggregateQuestionResultsResponse]

Приклад

bulkAggregateQuestionResults Приклад
Copy Copy
1
2let (response, httpResponse) = client.bulkAggregateQuestionResults(
3 tenantId = "my-tenant-123",
4 bulkAggregateQuestionResultsRequest = BulkAggregateQuestionResultsRequest(),
5 forceRecalculate = false
6)
7
8if response.isSome:
9 let aggregated = response.get()
10 echo "Aggregated question results received"
11

combineCommentsWithQuestionResults Internal Link

Параметри

НазваTypeОбов'язковоОпис
tenantIdstringТак
questionIdstringНі
questionIdsseq[string]Ні
urlIdstringТак
startDatestringНі
forceRecalculateboolНі
minValuefloat64Ні
maxValuefloat64Ні
limitfloat64Ні

Відповідь

Повертає: Option[CombineQuestionResultsWithCommentsResponse]

Приклад

Приклад combineCommentsWithQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.combineCommentsWithQuestionResults(
3 tenantId = "my-tenant-123",
4 questionId = "",
5 questionIds = @[],
6 urlId = "news/article-2026-climate-change",
7 startDate = "",
8 forceRecalculate = false,
9 minValue = 0.0,
10 maxValue = 0.0,
11 limit = 0.0
12)
13
14if response.isSome:
15 let combined = response.get()
16 echo "Combined results received for tenant:", " my-tenant-123"
17else:
18 echo "No combined results returned"
19

addSSOUser Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
createAPISSOUserDataCreateAPISSOUserDataНі

Відповідь

Повертає: Option[AddSSOUserAPIResponse]

Приклад

Приклад addSSOUser
Copy Copy
1
2let (response, httpResponse) = client.addSSOUser(
3 tenantId = "my-tenant-123",
4 createAPISSOUserData = CreateAPISSOUserData(
5 id = "sso-456",
6 email = "alice.johnson@newsorg.com",
7 name = "Alice Johnson",
8 roles = @["editor", "contributor"],
9 isActive = true,
10 isAdmin = false
11 )
12)
13if response.isSome:
14 let apiResp = response.get()
15 discard apiResp
16else:
17 discard httpResponse
18

deleteSSOUser Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
deleteCommentsboolНі
commentDeleteModestringНі

Відповідь

Повертає: Option[DeleteSSOUserAPIResponse]

Приклад

Приклад deleteSSOUser
Copy Copy
1
2let (response, httpResponse) = client.deleteSSOUser(tenantId = "my-tenant-123", id = "sso-user-9876", deleteComments = true, commentDeleteMode = "hard")
3if response.isSome:
4 let deleted = response.get()
5 discard deleted
6else:
7 discard httpResponse
8

getSSOUserByEmail Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
emailstringНі

Відповідь

Повертає: Option[GetSSOUserByEmailAPIResponse]

Приклад

Приклад getSSOUserByEmail
Copy Copy
1
2let (response, httpResponse) = client.getSSOUserByEmail(tenantId = "my-tenant-123", email = "alice@newsco.com")
3if response.isSome:
4 let ssoUser = response.get()
5 echo "SSO user found: ", ssoUser.email
6else:
7 echo "No SSO user found. HTTP status: ", httpResponse.status
8

getSSOUserById Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
idstringNo

Відповідь

Повертає: Option[GetSSOUserByIdAPIResponse]

Приклад

Приклад getSSOUserById
Copy Copy
1
2let (response, httpResponse) = client.getSSOUserById(tenantId = "my-tenant-123", id = "user-789")
3if response.isSome:
4 let ssoUser: GetSSOUserByIdAPIResponse = response.get()
5 echo "SSO user retrieved: ", $ssoUser
6else:
7 echo "No SSO user found, HTTP status: ", httpResponse.statusCode
8

getSSOUsers Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipintНі

Відповідь

Повертає: Option[GetSSOUsersResponse]

Приклад

Приклад getSSOUsers
Copy Copy
1
2let (response, httpResponse) = client.getSSOUsers(tenantId = "my-tenant-123", skip = 0)
3if response.isSome:
4 let ssoUsers = response.get()
5 echo ssoUsers
6else:
7 echo "No SSO users returned; HTTP response:", httpResponse
8

patchSSOUser Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
updateAPISSOUserDataUpdateAPISSOUserDataНі
updateCommentsboolНі

Відповідь

Повертає: Option[PatchSSOUserAPIResponse]

Приклад

Приклад patchSSOUser
Copy Copy
1
2let (response, httpResponse) = client.patchSSOUser(
3 tenantId = "my-tenant-123",
4 id = "user-789",
5 updateAPISSOUserData = UpdateAPISSOUserData(
6 externalId = "ext-987",
7 username = "j.smith",
8 email = "j.smith@news.example.com",
9 displayName = "John Smith",
10 roles = @["author", "editor"],
11 avatarUrl = "https://cdn.news.example.com/avatars/j.smith.png"
12 ),
13 updateComments = true
14)
15
16if response.isSome:
17 let patched = response.get()
18 echo patched
19

putSSOUser Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
updateAPISSOUserDataUpdateAPISSOUserDataНі
updateCommentsboolНі

Відповідь

Повертає: Option[PutSSOUserAPIResponse]

Приклад

Приклад putSSOUser
Copy Copy
1
2let (response, httpResponse) = client.putSSOUser(
3 tenantId = "my-tenant-123",
4 id = "user-456",
5 updateAPISSOUserData = UpdateAPISSOUserData(
6 externalId = "ext-789",
7 displayName = "Jane Doe",
8 email = "jane.doe@example.com",
9 avatarUrl = "https://cdn.news-site.com/avatars/jane.jpg",
10 roles = @["member", "subscriber"]
11 ),
12 updateComments = true
13)
14
15if response.isSome:
16 let result = response.get()
17 echo "SSO user updated:", result
18

createSubscription Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataНі

Відповідь

Повертає: Option[CreateSubscriptionAPIResponse]

Приклад

Приклад createSubscription
Copy Copy
1
2let createData = CreateAPIUserSubscriptionData(
3 subscriberId = "user-987",
4 email = "jane.doe@newsreader.com",
5 urlId = "news/local-weather",
6 active = true,
7 tags = @["weather", "local"],
8 frequency = "immediate"
9)
10let (response, httpResponse) = client.createSubscription(tenantId = "my-tenant-123", createAPIUserSubscriptionData = createData)
11if response.isSome:
12 let created = response.get()
13 echo "Created subscription id: ", created.id
14

deleteSubscription Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringYes
idstringNo
userIdstringNo

Відповідь

Повертає: Option[DeleteSubscriptionAPIResponse]

Приклад

Приклад deleteSubscription
Copy Copy
1
2let (response, httpResponse) = client.deleteSubscription(tenantId = "my-tenant-123", id = "sub-98765", userId = "user-456")
3if response.isSome:
4 let deleteResp = response.get()
5 echo "Delete subscription response received"
6else:
7 echo "No subscription response"
8

getSubscriptions Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
userIdstringНі

Відповідь

Повертає: Option[GetSubscriptionsAPIResponse]

Приклад

Приклад getSubscriptions
Copy Copy
1
2let (response, httpResponse) = client.getSubscriptions(tenantId = "my-tenant-123", userId = "")
3if response.isSome:
4 let subscriptions = response.get()
5 discard subscriptions
6

updateSubscription Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataНі
userIdstringНі

Відповідь

Повертає: Option[UpdateSubscriptionAPIResponse]

Приклад

Приклад updateSubscription
Copy Copy
1
2let (response, httpResponse) = client.updateSubscription(
3 tenantId = "my-tenant-123",
4 id = "sub-456",
5 updateAPIUserSubscriptionData = UpdateAPIUserSubscriptionData(
6 subscribed = true,
7 channels = @["email", "push"]
8 ),
9 userId = "user-789"
10)
11
12if response.isSome:
13 let updated = response.get()
14 echo "Subscription updated:", updated
15else:
16 echo "Update failed, HTTP response:", httpResponse
17

getTenantDailyUsages Internal Link


Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
yearNumberfloat64Ні
monthNumberfloat64Ні
dayNumberfloat64Ні
skipfloat64Ні

Відповідь

Повертає: Option[GetTenantDailyUsagesResponse]

Приклад

Приклад getTenantDailyUsages
Copy Copy
1
2let (response, httpResponse) = client.getTenantDailyUsages(
3 tenantId = "my-tenant-123",
4 yearNumber = 2026.0,
5 monthNumber = 6.0,
6 dayNumber = 19.0,
7 skip = 0.0
8)
9
10if response.isSome:
11 let usage = response.get()
12 discard usage
13

createTenantPackage Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createTenantPackageBodyCreateTenantPackageBodyНі

Відповідь

Повертає: Option[CreateTenantPackageResponse]

Приклад

Приклад createTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.createTenantPackage(tenantId = "my-tenant-123", createTenantPackageBody = CreateTenantPackageBody())
3
4if response.isSome:
5 let pkg = response.get()
6 echo "Created tenant package: ", $pkg
7else:
8 echo "Failed to create tenant package, HTTP response: ", $httpResponse
9

deleteTenantPackage Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantPackage(tenantId = "my-tenant-123", id = "package-987")
3if response.isSome:
4 let emptyResp = response.get()
5 echo emptyResp
6else:
7 echo "Failed to delete tenant package"
8

getTenantPackage Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetTenantPackageResponse]

Приклад

Приклад getTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.getTenantPackage(tenantId = "my-tenant-123", id = "premium-2026")
3if response.isSome:
4 let pkg = response.get()
5 echo "Retrieved tenant package:"
6 echo pkg
7else:
8 echo "Tenant package not found"
9

getTenantPackages Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetTenantPackagesResponse]

Приклад

Приклад getTenantPackages
Copy Copy
1
2let (response, httpResponse) = client.getTenantPackages(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let packages = response.get()
5 echo "Received tenant packages:"
6 echo packages
7else:
8 echo "No packages found for tenant 'my-tenant-123'"
9

replaceTenantPackage Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
replaceTenantPackageBodyReplaceTenantPackageBodyНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад replaceTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.replaceTenantPackage(
3 tenantId = "my-tenant-123",
4 id = "pkg-987",
5 replaceTenantPackageBody = ReplaceTenantPackageBody(
6 name = "Premium Plan",
7 priceCents = 999,
8 seats = 50,
9 enabled = true,
10 features = @["moderation", "analytics", "priority-support"]
11 )
12)
13
14if response.isSome:
15 let apiEmpty = response.get()
16 discard apiEmpty
17

updateTenantPackage Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateTenantPackageBodyUpdateTenantPackageBodyНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateTenantPackage
Copy Copy
1
2let packageBody = UpdateTenantPackageBody(
3 name: "Pro Plan",
4 priceCents: 1999,
5 active: true,
6 features: @["priority-support", "advanced-moderation"]
7)
8
9let (response, httpResponse) = client.updateTenantPackage(
10 tenantId = "my-tenant-123",
11 id = "pkg-789",
12 updateTenantPackageBody = packageBody
13)
14
15if response.isSome:
16 let apiEmpty = response.get()
17 echo "Tenant package updated successfully, HTTP status: " & $httpResponse.status
18

createTenantUser Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
createTenantUserBodyCreateTenantUserBodyНі

Відповідь

Повертає: Option[CreateTenantUserResponse]

Приклад

Приклад createTenantUser
Copy Copy
1
2let (response, httpResponse) = client.createTenantUser(tenantId = "my-tenant-123",
3 createTenantUserBody = CreateTenantUserBody(userId = "user-456",
4 email = "jane.doe@example.com",
5 displayName = "Jane Doe",
6 roles = @["editor"],
7 isAdmin = false))
8if response.isSome:
9 let created = response.get()
10 discard created
11

deleteTenantUser Internal Link


Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
deleteCommentsstringНі
commentDeleteModestringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад deleteTenantUser
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantUser(tenantId = "my-tenant-123", id = "user-789", deleteComments = "true", commentDeleteMode = "soft")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Tenant user deleted, response: ", apiResp
6else:
7 echo "Failed to delete tenant user, HTTP status: ", $httpResponse.status
8

getTenantUser Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetTenantUserResponse]

Приклад

Приклад getTenantUser
Copy Copy
1
2let (response, httpResponse) = client.getTenantUser(tenantId = "my-tenant-123", id = "user-789")
3if response.isSome:
4 let tenantUser = response.get()
5 echo "User fetched:", tenantUser
6else:
7 echo "No user found, HTTP status:", httpResponse.status
8

getTenantUsers Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetTenantUsersResponse]

Приклад

Приклад getTenantUsers
Copy Copy
1
2let (response, httpResponse) = client.getTenantUsers(tenantId = "my-tenant-123", skip = 0.0)
3
4if response.isSome:
5 let tenantUsers = response.get()
6 echo "Retrieved tenant users"
7else:
8 echo "No tenant users returned"
9

replaceTenantUser Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
replaceTenantUserBodyReplaceTenantUserBodyНі
updateCommentsstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад replaceTenantUser
Copy Copy
1
2let body = ReplaceTenantUserBody(
3 displayName = "Jane Doe",
4 email = "jane.doe@example.com",
5 externalId = "jdoe-789",
6 admin = false,
7 enabled = true,
8 tags = @["editor", "subscriber"]
9)
10
11let (response, httpResponse) = client.replaceTenantUser(
12 tenantId = "my-tenant-123",
13 id = "user-456",
14 replaceTenantUserBody = body,
15 updateComments = "true"
16)
17
18if response.isSome:
19 let apiEmpty = response.get()
20 echo "ReplaceTenantUser succeeded, http status:", httpResponse.status
21

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
redirectURLstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад sendLoginLink
Copy Copy
1
2let (response, httpResponse) = client.sendLoginLink(tenantId = "my-tenant-123", id = "user-456", redirectURL = "https://app.newsportal.com/welcome")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Login link sent successfully"
6else:
7 echo "Failed to send login link, HTTP status: ", $httpResponse.status
8

updateTenantUser Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
updateTenantUserBodyUpdateTenantUserBodyНі
updateCommentsstringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад використання updateTenantUser
Copy Copy
1
2let (response, httpResponse) = client.updateTenantUser(
3 tenantId = "my-tenant-123",
4 id = "user-987",
5 updateTenantUserBody = UpdateTenantUserBody(
6 displayName = "Jane Doe",
7 email = "jane.doe@example.com",
8 roles = @["moderator", "editor"],
9 isActive = true
10 ),
11 updateComments = "true"
12)
13
14if response.isSome:
15 let apiEmpty = response.get()
16 discard apiEmpty
17

createTenant Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
createTenantBodyCreateTenantBodyНі

Відповідь

Повертає: Option[CreateTenantResponse]

Приклад

Приклад createTenant
Copy Copy
1
2let (response, httpResponse) = client.createTenant(
3 tenantId = "my-tenant-123",
4 createTenantBody = CreateTenantBody(
5 name = "My Tenant 123",
6 domain = "news.example.com",
7 allowAnonymous = false,
8 allowedOrigins = @["https://news.example.com", "https://api.news.example.com"],
9 description = "Comments for News Example"
10 )
11)
12if response.isSome:
13 let created = response.get()
14 echo "Created tenant: ", created.tenantId
15else:
16 echo "Failed to create tenant, status: ", httpResponse.status
17

deleteTenant Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
surestringНі

Відповідь

Повертає: Option[APIEmptyResponse]

Приклад

Приклад використання deleteTenant
Copy Copy
1
2let (response, httpResponse) = client.deleteTenant(tenantId = "my-tenant-123", id = "", sure = "")
3if response.isSome:
4 let emptyResp = response.get()
5else:
6 discard httpResponse
7

getTenant Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetTenantResponse]

Приклад

Приклад getTenant
Copy Copy
1
2let (response, httpResponse) = client.getTenant(tenantId = "my-tenant-123", id = "tenant-789")
3if response.isSome:
4 let tenant = response.get()
5 discard tenant
6else:
7 discard httpResponse
8

getTenants Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
metastringНі
skipfloat64Ні

Відповідь

Повертає: Option[GetTenantsResponse]

Приклад

Приклад getTenants
Copy Copy
1
2let (response, httpResponse) = client.getTenants(tenantId = "my-tenant-123", meta = "env=production", skip = 0.0)
3if response.isSome:
4 let tenantsResp = response.get()
5 discard tenantsResp
6 echo "Tenants fetched successfully"
7else:
8 echo "Request failed with status ", httpResponse.status
9

updateTenant Internal Link


Parameters

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
updateTenantBodyUpdateTenantBodyНі

Response

Повертає: Option[APIEmptyResponse]

Приклад

Приклад updateTenant
Copy Copy
1
2let (response, httpResponse) = client.updateTenant(
3 tenantId = "my-tenant-123",
4 id = "settings",
5 updateTenantBody = UpdateTenantBody(
6 name = "My Tenant 123",
7 enableModeration = true,
8 allowedDomains = @["news.example.com", "blog.example.org"],
9 maxCommentLength = 1000
10 )
11)
12
13if response.isSome:
14 let apiResp = response.get()
15 echo "Tenant updated successfully: ", apiResp
16else:
17 echo "Failed to update tenant, HTTP status: ", httpResponse.status
18

changeTicketState Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
idstringНі
changeTicketStateBodyChangeTicketStateBodyНі

Відповідь

Повертає: Option[ChangeTicketStateResponse]

Приклад

Приклад changeTicketState
Copy Copy
1
2let body = ChangeTicketStateBody()
3let (response, httpResponse) = client.changeTicketState(tenantId = "my-tenant-123", userId = "user-456", id = "ticket-789", changeTicketStateBody = body)
4if response.isSome:
5 let ticketResp = response.get()
6 echo "Ticket state changed:", ticketResp
7

createTicket Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
createTicketBodyCreateTicketBodyНі

Відповідь

Повертає: Option[CreateTicketResponse]

Приклад

Приклад createTicket
Copy Copy
1
2let body = CreateTicketBody(
3 subject = "Comment moderation issue",
4 message = "Several abusive comments reported on article, please review and moderate.",
5 tags = @["moderation", "abuse", "urgent"],
6 url = "https://news.example.com/world/2026-election",
7 priority = "high"
8)
9
10let (response, httpResponse) = client.createTicket(tenantId = "my-tenant-123", userId = "user-789", createTicketBody = body)
11
12if response.isSome:
13 let ticket = response.get()
14 echo "Created ticket ID: ", ticket.id
15

getTicket Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
userIdstringНі

Відповідь

Повертає: Option[GetTicketResponse]

Приклад

Приклад getTicket
Copy Copy
1
2let (response, httpResponse) = client.getTicket(tenantId = "my-tenant-123", id = "ticket-456", userId = "user-789")
3if response.isSome:
4 let ticket = response.get()
5 echo "Got ticket:", ticket
6else:
7 echo "No ticket returned; HTTP response:", httpResponse
8

getTickets Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
userIdstringНі
statefloat64Ні
skipfloat64Ні
limitfloat64Ні

Відповідь

Повертає: Option[GetTicketsResponse]

Приклад

Приклад getTickets
Copy Copy
1
2let (response, httpResponse) = client.getTickets(tenantId = "my-tenant-123", userId = "user-789", state = 1.0, skip = 0.0, limit = 50.0)
3if response.isSome:
4 let tickets = response.get()
5 echo tickets
6

getTranslations Internal Link

Параметри

НазваТипОбов'язковийОпис
namespacestringНі
componentstringНі
localestringНі
useFullTranslationIdsboolНі

Відповідь

Повертає: Option[GetTranslationsResponse]

Приклад

Приклад використання getTranslations
Copy Copy
1
2let (response, httpResponse) = client.getTranslations(
3 namespace = "news-site",
4 component = "article-comments",
5 locale = "en-US",
6 useFullTranslationIds = false
7)
8if response.isSome:
9 let translations = response.get()
10 discard translations
11else:
12 echo "No translations available"
13

uploadImage Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
filestringНі
sizePresetSizePresetНі
urlIdstringТак

Відповідь

Повертає: Option[UploadImageResponse]

Приклад

Приклад uploadImage
Copy Copy
1
2let (response, httpResponse) = client.uploadImage(
3 tenantId = "my-tenant-123",
4 file = "assets/images/comment-avatar.jpg",
5 sizePreset = SizePreset.small,
6 urlId = "news/article-2025-11-22"
7)
8if response.isSome:
9 let upload = response.get()
10 echo "Uploaded image id: ", upload.id
11 echo "Uploaded image url: ", upload.url
12

getUserBadgeProgressById Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIGetUserBadgeProgressResponse]

Приклад

Приклад getUserBadgeProgressById
Copy Copy
1
2let (response, httpResponse) = client.getUserBadgeProgressById(tenantId = "my-tenant-123", id = "")
3if response.isSome:
4 let badgeProgress = response.get()
5 echo badgeProgress
6else:
7 echo "No badge progress found"
8

getUserBadgeProgressByUserId Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі

Відповідь

Повертає: Option[APIGetUserBadgeProgressResponse]

Приклад

Приклад getUserBadgeProgressByUserId
Copy Copy
1
2let tenantId = "my-tenant-123"
3let userId = "user-456"
4let (response, httpResponse) = client.getUserBadgeProgressByUserId(tenantId = tenantId, userId = userId)
5if response.isSome:
6 let badgeProgress = response.get()
7 echo "Badge progress retrieved for ", userId
8 discard badgeProgress
9

getUserBadgeProgressList Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
limitfloat64Ні
skipfloat64Ні

Відповідь

Повертає: Option[APIGetUserBadgeProgressListResponse]

Приклад

Приклад getUserBadgeProgressList
Copy Copy
1
2let (response, httpResponse) = client.getUserBadgeProgressList(
3 tenantId = "my-tenant-123",
4 userId = "user-789",
5 limit = 25.0,
6 skip = 0.0
7)
8
9if response.isSome:
10 let badgeProgress = response.get()
11 echo "Received badge progress:", badgeProgress
12else:
13 echo "No badge progress; HTTP status: ", $httpResponse.status
14

createUserBadge Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
createUserBadgeParamsCreateUserBadgeParamsНі

Відповідь

Повертає: Option[APICreateUserBadgeResponse]

Приклад

Приклад createUserBadge
Copy Copy
1
2let (response, httpResponse) = client.createUserBadge(
3 tenantId = "my-tenant-123",
4 createUserBadgeParams = CreateUserBadgeParams(
5 userId = "user-456",
6 badgeId = "top-commenter",
7 reason = "Top commenter for June 2026",
8 awardedBy = "mod-team",
9 metadata = @["news","engagement"]
10 )
11)
12if response.isSome:
13 let badgeResp = response.get()
14 discard badgeResp
15

deleteUserBadge Internal Link

Параметри

NameTypeОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIEmptySuccessResponse]

Приклад

Приклад deleteUserBadge
Copy Copy
1
2let tenantId = "my-tenant-123"
3let badgeId = "badge-456"
4
5let (response, httpResponse) = client.deleteUserBadge(tenantId = tenantId, id = badgeId)
6
7if response.isSome:
8 let success = response.get()
9 echo "Badge deleted successfully for tenant: ", tenantId, " id: ", badgeId
10else:
11 echo "Failed to delete badge. HTTP status: ", $httpResponse.status
12

getUserBadge Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[APIGetUserBadgeResponse]

Приклад

Приклад getUserBadge
Copy Copy
1
2let (response, httpResponse) = client.getUserBadge(tenantId = "my-tenant-123", id = "badge-9876")
3if response.isSome:
4 let badge = response.get()
5 echo "Fetched badge:"
6 echo badge
7else:
8 echo "No badge found"
9 echo httpResponse
10

getUserBadges Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
badgeIdstringНі
displayedOnCommentsboolНі
limitfloat64Ні
skipfloat64Ні

Відповідь

Повертає: Option[APIGetUserBadgesResponse]

Приклад

Приклад getUserBadges
Copy Copy
1
2let (response, httpResponse) = client.getUserBadges(
3 tenantId = "my-tenant-123",
4 userId = "user-9876",
5 badgeId = "top-commenter",
6 displayedOnComments = true,
7 limit = 20.0,
8 skip = 0.0
9)
10
11if response.isSome:
12 let badges = response.get()
13 echo "Badges response:", badges
14else:
15 echo "No badges found (HTTP status: ", httpResponse.status, ")"
16

updateUserBadge Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateUserBadgeParamsUpdateUserBadgeParamsНі

Відповідь

Повертає: Option[APIEmptySuccessResponse]

Приклад

Приклад використання updateUserBadge
Copy Copy
1
2let (response, httpResponse) = client.updateUserBadge(
3 tenantId = "my-tenant-123",
4 id = "user-456",
5 updateUserBadgeParams = UpdateUserBadgeParams()
6)
7
8if response.isSome:
9 let success = response.get()
10 echo "Badge updated successfully"
11else:
12 echo "Badge update failed"
13

getUserNotificationCount Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
ssostringНі

Відповідь

Повертає: Option[GetUserNotificationCountResponse]

Приклад

Приклад getUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getUserNotificationCount(tenantId = "news-tenant-123", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTI0NyIsImlhdCI6MTYw945600fQ.sflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c")
3if response.isSome:
4 let countResp = response.get()
5 echo "Received user notification count response: ", countResp
6else:
7 echo "No notification count returned"
8

getUserNotifications Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
pageSizeintНі
afterIdstringНі
includeContextboolНі
afterCreatedAtint64Ні
unreadOnlyboolНі
dmOnlyboolНі
noDmboolНі
includeTranslationsboolНі
includeTenantNotificationsboolНі
ssostringНі

Відповідь

Повертає: Option[GetMyNotificationsResponse]

Приклад

Приклад getUserNotifications
Copy Copy
1
2let (response, httpResponse) = client.getUserNotifications(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 pageSize = 0,
6 afterId = "",
7 includeContext = false,
8 afterCreatedAt = 0,
9 unreadOnly = false,
10 dmOnly = false,
11 noDm = false,
12 includeTranslations = false,
13 includeTenantNotifications = false,
14 sso = ""
15)
16
17if response.isSome:
18 let notifications = response.get()
19 echo notifications
20

resetUserNotificationCount Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringYes
ssostringNo

Відповідь

Повертає: Option[ResetUserNotificationsResponse]

Приклад

Приклад resetUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.resetUserNotificationCount(tenantId = "my-tenant-123", sso = "user-sso-token-456")
3if response.isSome:
4 let result = response.get()
5 echo "ResetUserNotificationsResponse:", result
6else:
7 echo "Reset failed, HTTP response:", httpResponse
8

resetUserNotifications Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
afterIdstringНі
afterCreatedAtint64Ні
unreadOnlyboolНі
dmOnlyboolНі
noDmboolНі
ssostringНі

Відповідь

Повертає: Option[ResetUserNotificationsResponse]

Приклад

Приклад resetUserNotifications
Copy Copy
1
2let (response, httpResponse) = client.resetUserNotifications(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 afterCreatedAt = 0'i64,
6 unreadOnly = false,
7 dmOnly = false,
8 noDm = false,
9 sso = ""
10)
11if response.isSome:
12 let resetResp = response.get()
13 echo "ResetUserNotificationsResponse received"
14else:
15 echo "No ResetUserNotificationsResponse"
16

updateUserNotificationCommentSubscriptionStatus Internal Link

Увімкнути або вимкнути сповіщення для конкретного коментаря.

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
notificationIdstringНі
optedInOrOutstringНі
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[UpdateUserNotificationCommentSubscriptionStatusResponse]

Приклад

Приклад updateUserNotificationCommentSubscriptionStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationCommentSubscriptionStatus(
3 tenantId = "my-tenant-123",
4 notificationId = "",
5 optedInOrOut = "",
6 commentId = "cmt-789",
7 sso = ""
8)
9
10if response.isSome:
11 let updateResp = response.get()
12 echo "Subscription update response: ", updateResp
13

updateUserNotificationPageSubscriptionStatus Internal Link

Увімкнути або вимкнути сповіщення для сторінки. Коли користувачі підписані на сторінку, сповіщення створюються для нових кореневих коментарів, а також

Параметри

NameTypeRequiredDescription
tenantIdstringТак
urlIdstringТак
urlstringНі
pageTitlestringНі
subscribedOrUnsubscribedstringНі
ssostringНі

Відповідь

Повертає: Option[UpdateUserNotificationPageSubscriptionStatusResponse]

Приклад

Приклад updateUserNotificationPageSubscriptionStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationPageSubscriptionStatus(
3 tenantId = "my-tenant-123",
4 urlId = "news/economy/market-rally-2026-06-19",
5 url = "",
6 pageTitle = "",
7 subscribedOrUnsubscribed = "",
8 sso = ""
9)
10
11if response.isSome:
12 let updateResp = response.get()
13 echo "Subscription update received: ", updateResp
14else:
15 echo "No subscription update returned."
16

updateUserNotificationStatus Internal Link

Параметри

НазваTypeОбов'язковоОпис
tenantIdstringТак
notificationIdstringНі
newStatusstringНі
ssostringНі

Відповідь

Повертає: Option[UpdateUserNotificationStatusResponse]

Приклад

Приклад updateUserNotificationStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationStatus(
3 tenantId = "my-tenant-123",
4 notificationId = "notif-456",
5 newStatus = "read",
6 sso = "sso-token-abc123"
7)
8if response.isSome:
9 let updated = response.get()
10 echo "Notification status updated successfully"
11else:
12 echo "No update response received"
13

getUserPresenceStatuses Internal Link

Параметри

NameTypeОбов'язковоОпис
tenantIdstringТак
urlIdWSstringНі
userIdsstringНі

Відповідь

Повертає: Option[GetUserPresenceStatusesResponse]

Приклад

Приклад getUserPresenceStatuses
Copy Copy
1
2let (response, httpResponse) = client.getUserPresenceStatuses(tenantId = "my-tenant-123", urlIdWS = "news/article-title", userIds = "user-123,user-456")
3if response.isSome:
4 let presenceStatuses = response.get()
5 echo presenceStatuses
6else:
7 echo "No presence data"
8

searchUsers Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
usernameStartsWithstringНі
mentionGroupIdsseq[string]Ні
ssostringНі
searchSectionstringНі

Відповідь

Повертає: Option[SearchUsersResult]

Приклад

Приклад searchUsers
Copy Copy
1
2let (response, httpResponse) = client.searchUsers(
3 tenantId = "my-tenant-123",
4 urlId = "news/top-story",
5 usernameStartsWith = "",
6 mentionGroupIds = @[],
7 sso = "",
8 searchSection = ""
9)
10
11if response.isSome:
12 let searchResult = response.get()
13 echo "SearchUsersResult:", searchResult
14else:
15 echo "No result or error. HTTP response:", httpResponse
16

getUser Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetUserResponse]

Приклад

Приклад getUser
Copy Copy
1
2let (response, httpResponse) = client.getUser(tenantId = "my-tenant-123", id = "user-456")
3if response.isSome:
4 let user = response.get()
5 echo user
6else:
7 echo "User not found"
8

createVote Internal Link


Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
directionstringНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[VoteResponse]

Приклад

Приклад createVote
Copy Copy
1
2let (response, httpResponse) = client.createVote(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654",
5 direction = "up",
6 userId = "user-42",
7 anonUserId = ""
8)
9if response.isSome:
10 let vote = response.get()
11 echo "Vote created:", vote
12else:
13 echo "No vote returned"
14

deleteVote Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
editKeystringНі

Відповідь

Повертає: Option[VoteDeleteResponse]

Приклад

Приклад deleteVote
Copy Copy
1
2let (response, httpResponse) = client.deleteVote(tenantId = "my-tenant-123", id = "vote-7f3b2a", editKey = "")
3if response.isSome:
4 let voteDelete = response.get()
5 echo "Vote deleted successfully"
6else:
7 echo "Failed to delete vote"
8

getVotes Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
urlIdstringТак

Відповідь

Повертає: Option[GetVotesResponse]

Приклад

Приклад getVotes
Copy Copy
1
2let (response, httpResponse) = client.getVotes(tenantId = "my-tenant-123", urlId = "news/breaking-article-456")
3if response.isSome:
4 let votesResp = response.get()
5 echo "Received votes response:", $votesResp
6else:
7 echo "No votes returned, HTTP response:", $httpResponse
8

getVotesForUser Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[GetVotesForUserResponse]

Приклад

Приклад getVotesForUser
Copy Copy
1
2let (response, httpResponse) = client.getVotesForUser(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 userId = "user-789",
6 anonUserId = ""
7)
8if response.isSome:
9 let votes = response.get()
10 echo "User votes retrieved"
11else:
12 echo "No votes found"
13

Потрібна допомога?

Якщо ви зіткнулися з проблемами або маєте запитання щодо Nim SDK, будь ласка:

Участь у проєкті

Внески вітаються! Будь ласка, відвідайте репозиторій на GitHub для інструкцій щодо внеску.