FastComments.com

FastComments Nim SDK


Dies ist das offizielle Nim-SDK für FastComments.

Offizielles Nim-SDK für die FastComments-API

Repository

Auf GitHub ansehen


Voraussetzungen Internal Link


  • Nim >= 1.6.0
  • nimcrypto >= 0.5.4

Installation Internal Link

Verwendung von Nimble

nimble install fastcomments

Aus dem Quellcode bauen

nimble build

Inhalt der Bibliothek

Diese Bibliothek enthält den generierten API-Client und die SSO-Dienstprogramme, um die Arbeit mit der API zu vereinfachen.

Öffentliche vs. gesicherte APIs

Für den API-Client gibt es drei API-Module, api_default, api_public, und api_moderation. Das api_default enthält Methoden, die Ihren API-Schlüssel erfordern, und api_public enthält API-Aufrufe die direkt aus einem Browser/mobilem Gerät/etc. ohne Authentifizierung ausgeführt werden können. Das api_moderation-Modul enthält Methoden für das Moderatoren-Dashboard.

Die api_moderation-Methoden decken das Auflisten, Zählen, Suchen und Exportieren von Kommentaren und deren Protokollen ab; Moderationsaktionen wie Entfernen/Wiederherstellen von Kommentaren, Markieren, Festlegen des Review-/Spam-/Genehmigungsstatus, Anpassen von Stimmen und Wiederöffnen/Schließen von Threads; Sperren (einen Benutzer von einem Kommentar sperren, eine Sperre rückgängig machen, Vor-Sperr-Zusammenfassungen, Sperrstatus und -einstellungen sowie Anzahl gesperrter Benutzer); und Abzeichen & Vertrauen (Verleihen/Entfernen eines Abzeichens, Auflisten manueller Abzeichen, Abrufen/Setzen des Vertrauensfaktors eines Benutzers und Abrufen des internen Profils eines Benutzers). Jede api_moderation-Methode akzeptiert einen sso-Parameter, sodass der Aufruf als SSO-Moderator authentifiziert wird.

Schnellstart Internal Link

Verwendung authentifizierter APIs (DefaultAPI)

Wichtig: Authentifizierte Endpunkte erfordern, dass Ihr API-Schlüssel als Header x-api-key gesetzt ist.

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"

# Authentifizierte API-Aufrufe durchführen
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"

Verwendung öffentlicher APIs (PublicAPI)

Öffentliche Endpunkte erfordern keine Authentifizierung:

import httpclient
import fastcomments
import fastcomments/apis/api_public

let client = newHttpClient()

# Öffentliche API-Aufrufe durchführen
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"

Verwendung der Moderations-APIs (ModerationAPI)

Moderations-Endpunkte versorgen das Moderatoren-Dashboard und werden mit einem SSO-Token für den handelnden Moderator authentifiziert:

import httpclient
import fastcomments
import fastcomments/apis/api_moderation

let client = newHttpClient()

# Kommentare im Moderations-Dashboard auflisten
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"

Häufige Probleme

  1. 401-Authentifizierungsfehler: Stellen Sie sicher, dass Sie den Header x-api-key auf Ihrem HttpClient setzen, bevor Sie DefaultAPI-Anfragen stellen: client.headers["x-api-key"] = "your-api-key"
  2. Falsche API-Klasse: Verwenden Sie api_default für serverseitige authentifizierte Anfragen, api_public für clientseitige/öffentliche Anfragen, und api_moderation für Anfragen des Moderations-Dashboards.

API-Aufrufe Internal Link

Alle API-Methoden in diesem SDK geben Tupel von (Option[ResponseType], Response) zurück. Das erste Element enthält die geparste Antwort, falls erfolgreich, und das zweite Element ist die rohe HTTP-Antwort.

Beispiel: Kommentare abrufen

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"

Hinweise Internal Link

Broadcast-IDs

Sie werden sehen, dass Sie in einigen API-Aufrufen ein broadcastId übergeben sollen. Wenn Sie Ereignisse erhalten, bekommen Sie diese ID zurück, sodass Sie das Ereignis ignorieren können, falls Sie Änderungen optimistisch auf dem Client anwenden möchten (was Sie wahrscheinlich tun werden, da es die beste Nutzererfahrung bietet). Übergeben Sie hier eine UUID. Die ID sollte eindeutig genug sein, um in einer Browsersitzung nicht zweimal aufzutreten.

SSO (Single Sign-On)

Für SSO-Beispiele siehe unten.

SSO-Verwendung Internal Link


Einfaches 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

Sicheres 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

Fasst Dokumente zusammen, indem sie gruppiert werden (falls groupBy angegeben ist) und mehrere Operationen angewendet werden. Verschiedene Operationen (z. B. sum, countDistinct, avg usw.) werden unterstützt.

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
aggregationRequestAggregationRequestNein
parentTenantIdstringNein
includeStatsboolNein

Antwort

Gibt zurück: Option[AggregateResponse]

Beispiel

aggregate Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
limitfloat64Nein
skipfloat64Nein
orderSORTDIRNein
afterfloat64Nein
beforefloat64Nein

Antwort

Gibt zurück: Option[GetAuditLogsResponse]

Beispiel

getAuditLogs Beispiel
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

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

logoutPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsNein
ssostringNein

Antwort

Gibt zurück: Option[BlockSuccess]

Beispiel

blockFromCommentPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsNein
ssostringNein

Response

Gibt zurück: Option[UnblockSuccess]

Beispiel

unBlockCommentPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdsstringNein
ssostringNein

Antwort

Gibt zurück: Option[CheckBlockedCommentsResponse]

Beispiel

checkedCommentsForBlocked Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
blockFromCommentParamsBlockFromCommentParamsNein
userIdstringNein
anonUserIdstringNein

Antwort

Gibt zurück: Option[BlockSuccess]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
broadcastIdstringNein
commentDataCommentDataNein
sessionIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[SaveCommentsResponseWithPresence]

Beispiel

createCommentPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
contextUserIdstringNein
isLiveboolNein

Antwort

Gibt zurück: Option[DeleteCommentResult]

Beispiel

deleteComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringNein
editKeystringNein
ssostringNein

Antwort

Gibt zurück: Option[PublicAPIDeleteCommentResponse]

Beispiel

deleteCommentPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
voteIdstringNein
urlIdstringJa
broadcastIdstringNein
editKeystringNein
ssostringNein

Antwort

Gibt zurück: Option[VoteDeleteResponse]

Beispiel

deleteCommentVote Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
userIdstringNein
anonUserIdstringNein

Antwort

Gibt zurück: Option[FlagCommentResponse]

Beispiel

flagComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIGetCommentResponse]

Beispiel

getComment Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringJa
pageintNein
limitintNein
skipintNein
asTreeboolNein
skipChildrenintNein
limitChildrenintNein
maxTreeDepthintNein
urlIdstringJa
userIdstringNein
anonUserIdstringNein
contextUserIdstringNein
hashTagstringNein
parentIdstringNein
directionSortDirectionsNein
fromDateint64Nein
toDateint64Nein

Antwort

Gibt zurück: Option[APIGetCommentsResponse]

Beispiel

getComments Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
pageintNein
directionSortDirectionsNein
ssostringNein
skipintNein
skipChildrenintNein
limitintNein
limitChildrenintNein
countChildrenboolNein
fetchPageForCommentIdstringNein
includeConfigboolNein
countAllboolNein
includei10nboolNein
localestringNein
modulesstringNein
isCrawlerboolNein
includeNotificationCountboolNein
asTreeboolNein
maxTreeDepthintNein
useFullTranslationIdsboolNein
parentIdstringNein
searchTextstringNein
hashTagsseq[string]Nein
userIdstringNein
customConfigStrstringNein
afterCommentIdstringNein
beforeCommentIdstringNein

Antwort

Gibt zurück: Option[GetCommentsResponseWithPresencePublicComment]

Beispiel

getCommentsPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
editKeystringNein
ssostringNein

Antwort

Gibt zurück: Option[PublicAPIGetCommentTextResponse]

Beispiel

getCommentText Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
dirintNein
ssostringNein

Antwort

Gibt zurück: Option[GetCommentVoteUserNamesSuccessResponse]

Beispiel

getCommentVoteUserNames Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

lockComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[ChangeCommentPinStatusResponse]

Beispiel

pinComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createCommentParamsCreateCommentParamsNein
isLiveboolNein
doSpamCheckboolNein
sendEmailsboolNein
populateNotificationsboolNein

Antwort

Gibt zurück: Option[APISaveCommentResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createCommentParamsseq[CreateCommentParams]Nein
isLiveboolNein
doSpamCheckboolNein
sendEmailsboolNein
populateNotificationsbool): (Option[seq[SaveCommentsBulkResponse]]Nein
idstringNein
fromNamestringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

saveCommentsBulk Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringNein
commentTextUpdateRequestCommentTextUpdateRequestNein
editKeystringNein
ssostringNein

Antwort

Gibt zurück: Option[PublicAPISetCommentTextResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
unBlockFromCommentParamsUnBlockFromCommentParamsNein
userIdstringNein
anonUserIdstringNein

Antwort

Gibt zurück: Option[UnblockSuccess]

Beispiel

Beispiel für 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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
userIdstringNein
anonUserIdstringNein

Antwort

Gibt zurück: Option[FlagCommentResponse]

Beispiel

unFlagComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

unLockComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[ChangeCommentPinStatusResponse]

Beispiel

unPinComment Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updatableCommentParamsUpdatableCommentParamsNein
contextUserIdstringNein
doSpamCheckboolNein
isLiveboolNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
urlIdstringJa
broadcastIdstringNein
voteBodyParamsVoteBodyParamsNein
sessionIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[VoteResponse]

Beispiel

voteComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
userIdstringNein
directionSortDirectionsNein
repliesToUserIdstringNein
pagefloat64Nein
includei10nboolNein
localestringNein
isCrawlerboolNein

Antwort

Gibt zurück: Option[GetCommentsForUserResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
addDomainConfigParamsAddDomainConfigParamsNo

Antwort

Gibt zurück: Option[AddDomainConfigResponse]

Beispiel

addDomainConfig Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainstringNein

Antwort

Gibt zurück: Option[DeleteDomainConfigResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainstringNein

Antwort

Gibt zurück: Option[GetDomainConfigResponse]

Beispiel

getDomainConfig Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa

Antwort

Gibt zurück: Option[GetDomainConfigsResponse]

Beispiel

getDomainConfigs Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainToUpdatestringNein
patchDomainConfigParamsPatchDomainConfigParamsNein

Antwort

Gibt zurück: Option[PatchDomainConfigResponse]

Beispiel

patchDomainConfig-Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
domainToUpdatestringNein
updateDomainConfigParamsUpdateDomainConfigParamsNein

Antwort

Gibt zurück: Option[PutDomainConfigResponse]

Beispiel

putDomainConfig Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createEmailTemplateBodyCreateEmailTemplateBodyNein

Antwort

Gibt zurück: Option[CreateEmailTemplateResponse]

Beispiel

createEmailTemplate Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
errorIdstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deleteEmailTemplateRenderError Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetEmailTemplateResponse]

Beispiel

getEmailTemplate Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa

Antwort

Gibt zurück: Option[GetEmailTemplateDefinitionsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
skipfloat64Nein

Antwort

Gibt zurück: Option[GetEmailTemplateRenderErrorsResponse]

Beispiel

getEmailTemplateRenderErrors Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
skipfloat64Nein

Antwort

Rückgabe: Option[GetEmailTemplatesResponse]

Beispiel

getEmailTemplates Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
renderEmailTemplateBodyRenderEmailTemplateBodyNein
localestringNein

Antwort

Gibt zurück: Option[RenderEmailTemplateResponse]

Beispiel

renderEmailTemplate Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringNo
updateEmailTemplateBodyUpdateEmailTemplateBodyNo

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

updateEmailTemplate Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
userIdWSstringNein
startTimeint64Nein
endTimeint64Nein

Antwort

Gibt zurück: Option[GetEventLogResponse]

Beispiel

getEventLog Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
userIdWSstringNein
startTimeint64Nein
endTimeint64Nein

Antwort

Gibt zurück: Option[GetEventLogResponse]

Beispiel

getGlobalEventLog Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsNein
broadcastIdstringNein
isLiveboolNein
doSpamCheckboolNein
skipDupCheckboolNein

Antwort

Gibt zurück: Option[CreateFeedPostsResponse]

Beispiel

createFeedPost Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsNein
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[CreateFeedPostResponse]

Beispiel

createFeedPostPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
postIdstringNein
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[DeleteFeedPostPublicResponse]

Beispiel

deleteFeedPostPublic Beispiel
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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
afterIdstringNein
limitintNein
tagsseq[string]Nein

Antwort

Gibt zurück: Option[GetFeedPostsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
afterIdstringNein
limitintNein
tagsseq[string]Nein
ssostringNein
isCrawlerboolNein
includeUserInfoboolNein

Antwort

Gibt zurück: Option[PublicFeedPostsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
postIdsseq[string]Nein
ssostringNein

Antwort

Gibt zurück: Option[FeedPostsStatsResponse]

Beispiel

getFeedPostsStats Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
postIdsseq[string]Nein
ssostringNein

Antwort

Gibt zurück: Option[UserReactsResponse]

Beispiel

getUserReactsPublic Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
postIdstringNein
reactBodyParamsReactBodyParamsNein
isUndoboolNein
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[ReactFeedPostResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
feedPostFeedPostNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

updateFeedPost Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
postIdstringNein
updateFeedPostParamsUpdateFeedPostParamsNein
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[CreateFeedPostResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
isFlaggedboolNein
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

flagCommentPublic Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
largeInternalURLSanitizedstringNein

Antwort

Gibt zurück: Option[GifGetLargeResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
searchstringNein
localestringNein
ratingstringNein
pagefloat64Nein

Antwort

Gibt zurück: Option[GetGifsSearchResponse]

Beispiel

getGifsSearch Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringJa
localestringNein
ratingstringNein
pagefloat64Nein

Antwort

Gibt zurück: Option[GetGifsTrendingResponse]

Beispiel

getGifsTrending Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createHashTagBodyCreateHashTagBodyNein

Antwort

Gibt zurück: Option[CreateHashTagResponse]

Beispiel

addHashTag Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNein

Antwort

Gibt zurück: Option[BulkCreateHashTagsResponse]

Beispiel

addHashTagsBulk Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tagstringNein
tenantIdstringJa
deleteHashTagRequestBodyDeleteHashTagRequestBodyNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deleteHashTag Beispiel
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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
pagefloat64Nein

Antwort

Gibt zurück: Option[GetHashTagsResponse]

Beispiel

Beispiel: 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

Parameter

NameTypErforderlichBeschreibung
tagstringNein
tenantIdstringJa
updateHashTagBodyUpdateHashTagBodyNein

Antwort

Gibt zurück: Option[UpdateHashTagResponse]

Beispiel

patchHashTag Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
voteIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[VoteDeleteResponse]

Beispiel

deleteModerationVote Beispiel
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


Parameter

NameTypErforderlichBeschreibung
pagefloat64Nein
countfloat64Nein
textSearchstringNein
byIPFromCommentstringNein
filtersstringNein
searchFiltersstringNein
sortsstringNein
demoboolNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationAPIGetCommentsResponse]

Beispiel

getApiComments Beispiel
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

Parameter

NameTypErforderlichBeschreibung
batchJobIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationExportStatusResponse]

Beispiel

getApiExportStatus Beispiel
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

Parameter

NameTypErforderlichBeschreibung
textSearchstringNein
byIPFromCommentstringNein
filtersstringNein
searchFiltersstringNein
afterIdstringNein
demoboolNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationAPIGetCommentIdsResponse]

Beispiel

getApiIds Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[GetBannedUsersFromCommentResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[GetCommentBanStatusResponse]

Beispiel

getCommentBanStatus Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[ModerationAPIChildCommentsResponse]

Beispiel

getCommentChildren Beispiel
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


Parameter

NameTypErforderlichBeschreibung
textSearchstringNein
byIPFromCommentstringNein
filterstringNein
searchFiltersstringNein
demoboolNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationAPICountCommentsResponse]

Beispiel

getCount Beispiel
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

Parameter

NameTypErforderlichBeschreibung
ssostringNein

Antwort

Gibt zurück: Option[GetBannedUsersCountResponse]

Beispiel

getCounts-Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[ModerationAPIGetLogsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
ssostringNein

Antwort

Gibt zurück: Option[GetTenantManualBadgesResponse]

Beispiel

getManualBadges Beispiel
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


Parameter

NameTypErforderlichBeschreibung
badgesUserIdstringNein
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[GetUserManualBadgesResponse]

Beispiel

getManualBadgesForUser Beispiel
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

Parameter

NameTypeRequiredDescription
commentIdstringJa
includeEmailboolNein
includeIPboolNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationAPICommentResponse]

Beispiel

getModerationComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[GetCommentTextResponse]

Beispiel

Beispiel für 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

Parameter

NameTypeRequiredDescription
commentIdstringJa
includeByUserIdAndEmailboolNein
includeByIPboolNein
includeByEmailDomainboolNein
ssostringNein

Antwort

Gibt zurück: Option[PreBanSummary]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
valuestringNein
filtersstringNein
searchFiltersstringNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationCommentSearchResponse]

Beispiel

getSearchCommentsSummary Beispiel
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


Parameter

NameTypErforderlichBeschreibung
valuestringNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationPageSearchResponse]

Beispiel

getSearchPages Beispiel
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

Parameter

NameTypErforderlichBeschreibung
valuestringNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationSiteSearchResponse]

Beispiel

getSearchSites Beispiel
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

Parameter

NameTypErforderlichBeschreibung
textSearchstringNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationSuggestResponse]

Beispiel

getSearchSuggest Beispiel
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

Parameter

NameTypErforderlichBeschreibung
valuestringNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationUserSearchResponse]

Beispiel

getSearchUsers Beispiel
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


Parameter

NameTypErforderlichBeschreibung
userIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[GetUserTrustFactorResponse]

Beispiel

getTrustFactor Beispiel
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


Parameter

NameTypErforderlichBeschreibung
ssostringNein

Antwort

Gibt zurück: Option[APIModerateGetUserBanPreferencesResponse]

Beispiel

getUserBanPreference Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Rückgabe: Option[GetUserInternalProfileResponse]

Beispiel

getUserInternalProfile Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
adjustCommentVotesParamsAdjustCommentVotesParamsNein
ssostringNein

Antwort

Gibt zurück: Option[AdjustVotesResponse]

Beispiel

postAdjustCommentVotes Beispiel
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

Parameter

NameTypErforderlichBeschreibung
textSearchstringNein
byIPFromCommentstringNein
filtersstringNein
searchFiltersstringNein
sortsstringNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationExportResponse]

Beispiel

postApiExport Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
banEmailboolNein
banEmailDomainboolNein
banIPboolNein
deleteAllUsersCommentsboolNein
bannedUntilstringNein
isShadowBanboolNein
updateIdstringNein
banReasonstringNein
ssostringNein

Antwort

Gibt zurück: Option[BanUserFromCommentResult]

Beispiel

postBanUserFromComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
banUserUndoParamsBanUserUndoParamsNein
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

postBanUserUndo Beispiel
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

Parameter

NameTypErforderlichBeschreibung
bulkPreBanParamsBulkPreBanParamsNein
includeByUserIdAndEmailboolNein
includeByIPboolNein
includeByEmailDomainboolNein
ssostringNein

Antwort

Gibt zurück: Option[BulkPreBanSummary]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
commentsByIdsParamsCommentsByIdsParamsNein
ssostringNein

Antwort

Gibt zurück: Option[ModerationAPIChildCommentsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

postFlagComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[PostRemoveCommentResponse]

Beispiel

postRemoveComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

postRestoreDeletedComment Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
approvedboolNein
ssostringNein

Antwort

Gibt zurück: Option[SetCommentApprovedResponse]

Beispiel

postSetCommentApprovalStatus Beispiel
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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
reviewedboolNein
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

postSetCommentReviewStatus Beispiel
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

Parameters

NameTypErforderlichBeschreibung
commentIdstringJa
spamboolNein
permNotSpamboolNein
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

postSetCommentSpamStatus Beispiel
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


Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
setCommentTextParamsSetCommentTextParamsNein
ssostringNein

Antwort

Gibt zurück: Option[SetCommentTextResponse]

Beispiel

postSetCommentText Beispiel
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


Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
commentIdstringJa
directionstringNein
ssostringNein

Antwort

Gibt zurück: Option[VoteResponse]

Beispiel

postVote Beispiel
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

Parameter

NameTypErforderlichBeschreibung
badgeIdstringNein
userIdstringNein
commentIdstringJa
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[AwardUserBadgeResponse]

Beispiel

putAwardBadge Beispiel
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


Parameter

NameTypErforderlichBeschreibung
urlIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

putCloseThread Beispiel
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

Parameter

NameTypErforderlichBeschreibung
badgeIdstringNein
userIdstringNein
commentIdstringJa
broadcastIdstringNein
ssostringNein

Antwort

Gibt zurück: Option[RemoveUserBadgeResponse]

Beispiel

putRemoveBadge Beispiel
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

Parameter

NameTypErforderlichBeschreibung
urlIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

putReopenThread Beispiel
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

Parameter

NameTypErforderlichBeschreibung
userIdstringNein
trustFactorstringNein
ssostringNein

Antwort

Gibt zurück: Option[SetUserTrustFactorResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createModeratorBodyCreateModeratorBodyNein

Antwort

Gibt zurück: Option[CreateModeratorResponse]

Beispiel

createModerator Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
sendEmailstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deleteModerator Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetModeratorResponse]

Beispiel

getModerator Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
skipfloat64Nein

Antwort

Gibt zurück: Option[GetModeratorsResponse]

Beispiel

getModerators-Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateModeratorBodyUpdateModeratorBodyNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deleteNotificationCount Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetCachedNotificationCountResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein
urlIdstringJa
fromCommentIdstringNein
viewedboolNein

Antwort

Gibt zurück: Option[GetNotificationCountResponse]

Beispiel

getNotificationCount Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein
urlIdstringJa
fromCommentIdstringNein
viewedboolNein
skipfloat64Nein

Antwort

Gibt zurück: Option[GetNotificationsResponse]

Beispiel

getNotifications Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateNotificationBodyUpdateNotificationBodyNein
userIdstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

Beispiel für 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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
urlIdstringYes
titlestringNo

Antwort

Gibt zurück: Option[CreateV1PageReact]

Beispiel

createV1PageReact Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
idstringNein
titlestringNein

Antwort

Gibt zurück: Option[CreateV1PageReact]

Beispiel

createV2PageReact Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa

Antwort

Gibt zurück: Option[CreateV1PageReact]

Beispiel

deleteV1PageReact Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
idstringNein

Antwort

Gibt zurück: Option[CreateV1PageReact]

Beispiel

deleteV2PageReact Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa

Antwort

Gibt zurück: Option[GetV1PageLikes]

Beispiel

Beispiel für 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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa

Antwort

Gibt zurück: Option[GetV2PageReacts]

Beispiel

getV2PageReacts Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetV2PageReactUsersResponse]

Beispiel

getV2PageReactUsers Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createAPIPageDataCreateAPIPageDataNein

Antwort

Gibt zurück: Option[AddPageAPIResponse]

Beispiel

addPage Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[DeletePageAPIResponse]

Beispiel

deletePage Beispiel
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


Frühere Kommentierende auf der Seite, die momentan NICHT online sind. Sortiert nach displayName. Verwenden Sie dies, nachdem Sie /users/online abgefragt haben, um einen "Members"-Abschnitt anzuzeigen. Cursor-Paginierung auf commenterName: Der Server durchläuft den partiellen Index {tenantId, urlId, commenterName} index ab afterName vorwärts mittels $gt, ohne $skip-Kosten.

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
afterNamestringNein
afterUserIdstringNein

Antwort

Gibt zurück: Option[PageUsersOfflineResponse]

Beispiel

getOfflineUsers Beispiel
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

Momentan online befindliche Betrachter einer Seite: Personen, deren WebSocket-Sitzung zurzeit auf die Seite abonniert ist. Gibt anonCount + totalCount zurück (raumweite Abonnenten, einschließlich anonymer Betrachter, die wir nicht aufzählen).

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
afterNamestringNein
afterUserIdstringNein

Antwort

Gibt zurück: Option[PageUsersOnlineResponse]

Beispiel

getOnlineUsers Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa

Antwort

Gibt zurück: Option[GetPageByURLIdAPIResponse]

Beispiel

getPageByURLId Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa

Antwort

Gibt zurück: Option[GetPagesAPIResponse]

Beispiel

getPages Beispiel
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

Listet Seiten für einen Mandanten. Wird vom FChat-Desktop-Client verwendet, um dessen Raumliste zu füllen. Erfordert, dass enableFChat für jede Seite in der aufgelösten Custom-Konfiguration auf true gesetzt ist. Seiten, die SSO benötigen, werden anhand des Gruppen-Zugriffs des anfragenden Benutzers gefiltert.

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
cursorstringNein
limitintNein
qstringNein
sortByPagesSortByNein
hasCommentsboolNein

Antwort

Gibt zurück: Option[GetPublicPagesResponse]

Beispiel

getPagesPublic Beispiel
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

Massenbenutzerinformationen für einen Mandanten. Anhand der userIds werden Anzeigeinformationen aus User / SSOUser zurückgegeben. Vom Kommentar-Widget verwendet, um Benutzer anzureichern, die gerade durch ein Presence-Ereignis erschienen sind. Kein Seitenkontext: der Datenschutz wird einheitlich durchgesetzt (private Profile werden maskiert).

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idsstringNein

Antwort

Gibt zurück: Option[PageUsersInfoResponse]

Beispiel

getUsersInfo Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateAPIPageDataUpdateAPIPageDataNein

Antwort

Gibt zurück: Option[PatchPageAPIResponse]

Beispiel

patchPage Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deletePendingWebhookEvent Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
externalIdstringNein
eventTypestringNein
domainstringNein
attemptCountGTfloat64Nein

Antwort

Gibt zurück: Option[GetPendingWebhookEventCountResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
externalIdstringNein
eventTypestringNein
domainstringNein
attemptCountGTfloat64Nein
skipfloat64Nein

Antwort

Gibt zurück: Option[GetPendingWebhookEventsResponse]

Beispiel

getPendingWebhookEvents Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createQuestionConfigBodyCreateQuestionConfigBodyNein

Antwort

Gibt zurück: Option[CreateQuestionConfigResponse]

Beispiel

createQuestionConfig Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deleteQuestionConfig Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Rückgabe: Option[GetQuestionConfigResponse]

Beispiel

getQuestionConfig Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
skipfloat64Nein

Antwort

Gibt zurück: Option[GetQuestionConfigsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateQuestionConfigBodyUpdateQuestionConfigBodyNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

updateQuestionConfig Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createQuestionResultBodyCreateQuestionResultBodyNein

Antwort

Gibt zurück: Option[CreateQuestionResultResponse]

Beispiel

createQuestionResult Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetQuestionResultResponse]

Beispiel

getQuestionResult Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
userIdstringNein
startDatestringNein
questionIdstringNein
questionIdsstringNein
skipfloat64Nein

Antwort

Gibt zurück: Option[GetQuestionResultsResponse]

Beispiel

getQuestionResults Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateQuestionResultBodyUpdateQuestionResultBodyNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

updateQuestionResult Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
questionIdstringNein
questionIdsseq[string]Nein
urlIdstringJa
timeBucketAggregateTimeBucketNein
startDatestringNein
forceRecalculateboolNein

Antwort

Gibt zurück: Option[AggregateQuestionResultsResponse]

Beispiel

aggregateQuestionResults Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestNein
forceRecalculateboolNein

Antwort

Gibt zurück: Option[BulkAggregateQuestionResultsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
questionIdstringNein
questionIdsseq[string]Nein
urlIdstringJa
startDatestringNein
forceRecalculateboolNein
minValuefloat64Nein
maxValuefloat64Nein
limitfloat64Nein

Antwort

Gibt zurück: Option[CombineQuestionResultsWithCommentsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createAPISSOUserDataCreateAPISSOUserDataNein

Antwort

Gibt zurück: Option[AddSSOUserAPIResponse]

Beispiel

addSSOUser Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
deleteCommentsboolNein
commentDeleteModestringNein

Antwort

Gibt zurück: Option[DeleteSSOUserAPIResponse]

Beispiel

deleteSSOUser Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
emailstringNein

Antwort

Gibt zurück: Option[GetSSOUserByEmailAPIResponse]

Beispiel

getSSOUserByEmail Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetSSOUserByIdAPIResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
skipintNein

Antwort

Gibt zurück: Option[GetSSOUsersResponse]

Beispiel

getSSOUsers Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateAPISSOUserDataUpdateAPISSOUserDataNein
updateCommentsboolNein

Antwort

Gibt zurück: Option[PatchSSOUserAPIResponse]

Beispiel

patchSSOUser Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateAPISSOUserDataUpdateAPISSOUserDataNein
updateCommentsboolNein

Antwort

Gibt zurück: Option[PutSSOUserAPIResponse]

Beispiel

putSSOUser Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataNein

Antwort

Gibt zurück: Option[CreateSubscriptionAPIResponse]

Beispiel

createSubscription Beispiel
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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
idstringNein
userIdstringNein

Antwort

Gibt zurück: Option[DeleteSubscriptionAPIResponse]

Beispiel

deleteSubscription Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein

Antwort

Gibt zurück: Option[GetSubscriptionsAPIResponse]

Beispiel

getSubscriptions Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataNein
userIdstringNein

Antwort

Gibt zurück: Option[UpdateSubscriptionAPIResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
yearNumberfloat64Nein
monthNumberfloat64Nein
dayNumberfloat64Nein
skipfloat64Nein

Antwort

Gibt zurück: Option[GetTenantDailyUsagesResponse]

Beispiel

getTenantDailyUsages Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createTenantPackageBodyCreateTenantPackageBodyNein

Antwort

Gibt zurück: Option[CreateTenantPackageResponse]

Beispiel

createTenantPackage Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deleteTenantPackage Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetTenantPackageResponse]

Beispiel

getTenantPackage Beispiel
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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
skipfloat64Nein

Antwort

Gibt zurück: Option[GetTenantPackagesResponse]

Beispiel

getTenantPackages Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
replaceTenantPackageBodyReplaceTenantPackageBodyNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

replaceTenantPackage Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateTenantPackageBodyUpdateTenantPackageBodyNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

updateTenantPackage Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createTenantUserBodyCreateTenantUserBodyNein

Antwort

Gibt zurück: Option[CreateTenantUserResponse]

Beispiel

createTenantUser Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
deleteCommentsstringNein
commentDeleteModestringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

Beispiel für 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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetTenantUserResponse]

Beispiel

getTenantUser Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
skipfloat64Nein

Antwort

Gibt zurück: Option[GetTenantUsersResponse]

Beispiel

getTenantUsers Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
replaceTenantUserBodyReplaceTenantUserBodyNein
updateCommentsstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

replaceTenantUser Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
redirectURLstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

sendLoginLink Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateTenantUserBodyUpdateTenantUserBodyNein
updateCommentsstringNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

updateTenantUser Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createTenantBodyCreateTenantBodyNein

Antwort

Gibt zurück: Option[CreateTenantResponse]

Beispiel

createTenant Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringYes
idstringNo
surestringNo

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

deleteTenant Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetTenantResponse]

Beispiel

getTenant-Beispiel
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


Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
metastringNein
skipfloat64Nein

Antwort

Gibt zurück: Option[GetTenantsResponse]

Beispiel

getTenants Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateTenantBodyUpdateTenantBodyNein

Antwort

Gibt zurück: Option[APIEmptyResponse]

Beispiel

updateTenant Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein
idstringNein
changeTicketStateBodyChangeTicketStateBodyNein

Antwort

Gibt zurück: Option[ChangeTicketStateResponse]

Beispiel

changeTicketState Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein
createTicketBodyCreateTicketBodyNein

Antwort

Gibt zurück: Option[CreateTicketResponse]

Beispiel

createTicket Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
userIdstringNein

Antwort

Gibt zurück: Option[GetTicketResponse]

Beispiel

getTicket Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein
statefloat64Nein
skipfloat64Nein
limitfloat64Nein

Antwort

Gibt zurück: Option[GetTicketsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
namespacestringNein
componentstringNein
localestringNein
useFullTranslationIdsboolNein

Antwort

Gibt zurück: Option[GetTranslationsResponse]

Beispiel

getTranslations Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
filestringNein
sizePresetSizePresetNein
urlIdstringJa

Antwort

Gibt zurück: Option[UploadImageResponse]

Beispiel

uploadImage Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIGetUserBadgeProgressResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein

Antwort

Gibt zurück: Option[APIGetUserBadgeProgressResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein
limitfloat64Nein
skipfloat64Nein

Antwort

Gibt zurück: Option[APIGetUserBadgeProgressListResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
createUserBadgeParamsCreateUserBadgeParamsNein

Antwort

Gibt zurück: Option[APICreateUserBadgeResponse]

Beispiel

createUserBadge Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[APIEmptySuccessResponse]

Beispiel

deleteUserBadge Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Rückgabe: Option[APIGetUserBadgeResponse]

Beispiel

getUserBadge Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
userIdstringNein
badgeIdstringNein
displayedOnCommentsboolNein
limitfloat64Nein
skipfloat64Nein

Antwort

Gibt zurück: Option[APIGetUserBadgesResponse]

Beispiel

getUserBadges Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
updateUserBadgeParamsUpdateUserBadgeParamsNein

Antwort

Gibt zurück: Option[APIEmptySuccessResponse]

Beispiel

updateUserBadge Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[GetUserNotificationCountResponse]

Beispiel

getUserNotificationCount Beispiel
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

Parameter

NameTypeRequiredDescription
tenantIdstringJa
urlIdstringJa
pageSizeintNein
afterIdstringNein
includeContextboolNein
afterCreatedAtint64Nein
unreadOnlyboolNein
dmOnlyboolNein
noDmboolNein
includeTranslationsboolNein
includeTenantNotificationsboolNein
ssostringNein

Antwort

Gibt zurück: Option[GetMyNotificationsResponse]

Beispiel

getUserNotifications Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[ResetUserNotificationsResponse]

Beispiel

Beispiel für 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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
afterIdstringNein
afterCreatedAtint64Nein
unreadOnlyboolNein
dmOnlyboolNein
noDmboolNein
ssostringNein

Antwort

Gibt zurück: Option[ResetUserNotificationsResponse]

Beispiel

Beispiel für 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

Benachrichtigungen für einen bestimmten Kommentar aktivieren oder deaktivieren.

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
notificationIdstringNein
optedInOrOutstringNein
commentIdstringJa
ssostringNein

Antwort

Gibt zurück: Option[UpdateUserNotificationCommentSubscriptionStatusResponse]

Beispiel

updateUserNotificationCommentSubscriptionStatus Beispiel
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


Benachrichtigungen für eine Seite aktivieren oder deaktivieren. Wenn Benutzer für eine Seite abonniert sind, werden Benachrichtigungen erstellt für neue Root-Kommentare, und auch

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
urlstringNein
pageTitlestringNein
subscribedOrUnsubscribedstringNein
ssostringNein

Antwort

Gibt zurück: Option[UpdateUserNotificationPageSubscriptionStatusResponse]

Beispiel

updateUserNotificationPageSubscriptionStatus Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
notificationIdstringNein
newStatusstringNein
ssostringNein

Antwort

Gibt zurück: Option[UpdateUserNotificationStatusResponse]

Beispiel

updateUserNotificationStatus Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdWSstringNein
userIdsstringNein

Antwort

Gibt zurück: Option[GetUserPresenceStatusesResponse]

Beispiel

getUserPresenceStatuses Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
usernameStartsWithstringNein
mentionGroupIdsseq[string]Nein
ssostringNein
searchSectionstringNein

Antwort

Gibt zurück: Option[SearchUsersResult]

Beispiel

searchUsers Beispiel
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

Parameter

NameTypeErforderlichBeschreibung
tenantIdstringJa
idstringNein

Antwort

Gibt zurück: Option[GetUserResponse]

Beispiel

getUser Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
commentIdstringJa
directionstringNein
userIdstringNein
anonUserIdstringNein

Antwort

Gibt zurück: Option[VoteResponse]

Beispiel

createVote Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
idstringNein
editKeystringNein

Antwort

Gibt zurück: Option[VoteDeleteResponse]

Beispiel

deleteVote Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa

Antwort

Gibt zurück: Option[GetVotesResponse]

Beispiel

getVotes Beispiel
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

Parameter

NameTypErforderlichBeschreibung
tenantIdstringJa
urlIdstringJa
userIdstringNein
anonUserIdstringNein

Antwort

Gibt zurück: Option[GetVotesForUserResponse]

Beispiel

getVotesForUser Beispiel
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

Benötigen Sie Hilfe?

Wenn Sie auf Probleme stoßen oder Fragen zum Nim SDK haben, bitte:

Mitwirken

Beiträge sind willkommen! Bitte besuchen Sie das GitHub-Repository für Beitragsrichtlinien.