
Documentation
Getting Started
API Reference
Usage
API
FastComments Nim SDK
This is the official Nim SDK for FastComments.
Official Nim SDK for the FastComments API
Repository
Installation 
Using Nimble
nimble install fastcomments
Building from Source
nimble build
Library Contents
This library contains the generated API client and the SSO utilities to make working with the API easier.
Public vs Secured APIs
For the API client, there are two API modules, api_default and api_public. The api_default contains methods that require your API key, and api_public contains api calls
that can be made directly from a browser/mobile device/etc without authentication.
Quick Start 
Using Authenticated APIs (DefaultAPI)
Important: Authenticated endpoints require your API key to be set as the x-api-key header.
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"
# Make authenticated API calls
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"
Using Public APIs (PublicAPI)
Public endpoints don't require authentication:
import httpclient
import fastcomments
import fastcomments/apis/api_public
let client = newHttpClient()
# Make public API calls
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"
Common Issues
- 401 authentication error: Make sure you set the
x-api-keyheader on your HttpClient before making DefaultAPI requests:client.headers["x-api-key"] = "your-api-key" - Wrong API class: Use
api_defaultfor server-side authenticated requests,api_publicfor client-side/public requests.
Making API Calls 
All API methods in this SDK return tuples of (Option[ResponseType], Response). The first element contains the parsed response if successful, and the second element is the raw HTTP response.
Example: Fetching Comments
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"
Notes 
Broadcast Ids
You'll see you're supposed to pass a broadcastId in some API calls. When you receive events, you'll get this ID back, so you know to ignore the event if you plan to optimistically apply changes on the client
(which you'll probably want to do since it offers the best experience). Pass a UUID here. The ID should be unique enough to not occur twice in a browser session.
SSO (Single Sign-On)
For SSO examples, see below.
SSO Usage 
Simple 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
Secure 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
Testing 
Set the required environment variables:
export FASTCOMMENTS_API_KEY="your-api-key"
export FASTCOMMENTS_TENANT_ID="your-tenant-id"
Run the tests:
nimble test
Or run specific tests:
nim c -r tests/test_sso.nim
nim c -r tests/test_sso_integration.nim
Support 
For support, please visit https://fastcomments.com/auth/my-account/help or email support@fastcomments.com
Documentation for fastcomments 
Documentation for fastcomments
Documentation for API Endpoints
All URIs are relative to https://fastcomments.com
| Class | Method | HTTP request | Description |
|---|---|---|---|
| DefaultApi | addDomainConfig | POST /api/v1/domain-configs | |
| DefaultApi | addPage | POST /api/v1/pages | |
| DefaultApi | addSSOUser | POST /api/v1/sso-users | |
| DefaultApi | aggregate | POST /api/v1/aggregate | Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported. |
| DefaultApi | aggregateQuestionResults | GET /api/v1/question-results-aggregation | |
| DefaultApi | blockUserFromComment | POST /api/v1/comments/{id}/block | |
| DefaultApi | bulkAggregateQuestionResults | POST /api/v1/question-results-aggregation/bulk | |
| DefaultApi | combineCommentsWithQuestionResults | GET /api/v1/question-results-aggregation/combine/comments | |
| DefaultApi | createFeedPost | POST /api/v1/feed-posts | |
| DefaultApi | createSubscription | POST /api/v1/subscriptions | |
| DefaultApi | createUserBadge | POST /api/v1/user-badges | |
| DefaultApi | deleteComment | DELETE /api/v1/comments/{id} | |
| DefaultApi | deleteDomainConfig | DELETE /api/v1/domain-configs/{domain} | |
| DefaultApi | deletePage | DELETE /api/v1/pages/{id} | |
| DefaultApi | deleteSSOUser | DELETE /api/v1/sso-users/{id} | |
| DefaultApi | deleteSubscription | DELETE /api/v1/subscriptions/{id} | |
| DefaultApi | deleteUserBadge | DELETE /api/v1/user-badges/{id} | |
| DefaultApi | flagComment | POST /api/v1/comments/{id}/flag | |
| DefaultApi | getAuditLogs | GET /api/v1/audit-logs | |
| DefaultApi | getComment | GET /api/v1/comments/{id} | |
| DefaultApi | getComments | GET /api/v1/comments | |
| DefaultApi | getDomainConfig | GET /api/v1/domain-configs/{domain} | |
| DefaultApi | getDomainConfigs | GET /api/v1/domain-configs | |
| DefaultApi | getFeedPosts | GET /api/v1/feed-posts | req tenantId afterId |
| DefaultApi | getPageByURLId | GET /api/v1/pages/by-url-id | |
| DefaultApi | getPages | GET /api/v1/pages | |
| DefaultApi | getSSOUserByEmail | GET /api/v1/sso-users/by-email/{email} | |
| DefaultApi | getSSOUserById | GET /api/v1/sso-users/by-id/{id} | |
| DefaultApi | getSSOUsers | GET /api/v1/sso-users | |
| DefaultApi | getSubscriptions | GET /api/v1/subscriptions | |
| DefaultApi | getUserBadge | GET /api/v1/user-badges/{id} | |
| DefaultApi | getUserBadgeProgressById | GET /api/v1/user-badge-progress/{id} | |
| DefaultApi | getUserBadgeProgressByUserId | GET /api/v1/user-badge-progress/user/{userId} | |
| DefaultApi | getUserBadgeProgressList | GET /api/v1/user-badge-progress | |
| DefaultApi | getUserBadges | GET /api/v1/user-badges | |
| DefaultApi | patchDomainConfig | PATCH /api/v1/domain-configs/{domainToUpdate} | |
| DefaultApi | patchPage | PATCH /api/v1/pages/{id} | |
| DefaultApi | patchSSOUser | PATCH /api/v1/sso-users/{id} | |
| DefaultApi | putDomainConfig | PUT /api/v1/domain-configs/{domainToUpdate} | |
| DefaultApi | putSSOUser | PUT /api/v1/sso-users/{id} | |
| DefaultApi | saveComment | POST /api/v1/comments | |
| DefaultApi | saveCommentsBulk | POST /api/v1/comments/bulk | |
| DefaultApi | unBlockUserFromComment | POST /api/v1/comments/{id}/un-block | |
| DefaultApi | unFlagComment | POST /api/v1/comments/{id}/un-flag | |
| DefaultApi | updateComment | PATCH /api/v1/comments/{id} | |
| DefaultApi | updateFeedPost | PATCH /api/v1/feed-posts/{id} | |
| DefaultApi | updateUserBadge | PUT /api/v1/user-badges/{id} | |
| PublicApi | blockFromCommentPublic | POST /block-from-comment/{commentId} | |
| PublicApi | checkedCommentsForBlocked | GET /check-blocked-comments | |
| PublicApi | createCommentPublic | POST /comments/{tenantId} | |
| PublicApi | createFeedPostPublic | POST /feed-posts/{tenantId} | |
| PublicApi | deleteCommentPublic | DELETE /comments/{tenantId}/{commentId} | |
| PublicApi | deleteCommentVote | DELETE /comments/{tenantId}/{commentId}/vote/{voteId} | |
| PublicApi | deleteFeedPostPublic | DELETE /feed-posts/{tenantId}/{postId} | |
| PublicApi | flagCommentPublic | POST /flag-comment/{commentId} | |
| PublicApi | getCommentText | GET /comments/{tenantId}/{commentId}/text | |
| PublicApi | getCommentVoteUserNames | GET /comments/{tenantId}/{commentId}/votes | |
| PublicApi | getCommentsPublic | GET /comments/{tenantId} | req tenantId urlId |
| PublicApi | getEventLog | GET /event-log/{tenantId} | req tenantId urlId userIdWS |
| PublicApi | getFeedPostsPublic | GET /feed-posts/{tenantId} | req tenantId afterId |
| PublicApi | getFeedPostsStats | GET /feed-posts/{tenantId}/stats | |
| PublicApi | getGlobalEventLog | GET /event-log/global/{tenantId} | req tenantId urlId userIdWS |
| PublicApi | getUserNotificationCount | GET /user-notifications/get-count | |
| PublicApi | getUserNotifications | GET /user-notifications | |
| PublicApi | getUserPresenceStatuses | GET /user-presence-status | |
| PublicApi | getUserReactsPublic | GET /feed-posts/{tenantId}/user-reacts | |
| PublicApi | lockComment | POST /comments/{tenantId}/{commentId}/lock | |
| PublicApi | pinComment | POST /comments/{tenantId}/{commentId}/pin | |
| PublicApi | reactFeedPostPublic | POST /feed-posts/{tenantId}/react/{postId} | |
| PublicApi | resetUserNotificationCount | POST /user-notifications/reset-count | |
| PublicApi | resetUserNotifications | POST /user-notifications/reset | |
| PublicApi | searchUsers | GET /user-search/{tenantId} | |
| PublicApi | setCommentText | POST /comments/{tenantId}/{commentId}/update-text | |
| PublicApi | unBlockCommentPublic | DELETE /block-from-comment/{commentId} | |
| PublicApi | unLockComment | POST /comments/{tenantId}/{commentId}/unlock | |
| PublicApi | unPinComment | POST /comments/{tenantId}/{commentId}/unpin | |
| PublicApi | updateFeedPostPublic | PUT /feed-posts/{tenantId}/{postId} | |
| PublicApi | updateUserNotificationCommentSubscriptionStatus | POST /user-notifications/{notificationId}/mark-opted/{optedInOrOut} | Enable or disable notifications for a specific comment. |
| PublicApi | updateUserNotificationPageSubscriptionStatus | POST /user-notifications/set-subscription-state/{subscribedOrUnsubscribed} | Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also |
| PublicApi | updateUserNotificationStatus | POST /user-notifications/{notificationId}/mark/{newStatus} | |
| PublicApi | uploadImage | POST /upload-image/{tenantId} | Upload and resize an image |
| PublicApi | voteComment | POST /comments/{tenantId}/{commentId}/vote |
Documentation for Models
- APIAuditLog
- APIComment
- APICommentBase
- APICreateUserBadgeResponse
- APIEmptyResponse
- APIEmptySuccessResponse
- APIError
- APIGetCommentResponse
- APIGetCommentsResponse
- APIGetUserBadgeProgressListResponse
- APIGetUserBadgeProgressResponse
- APIGetUserBadgeResponse
- APIGetUserBadgesResponse
- APIPage
- APISSOUser
- APIStatus
- APIUserSubscription
- AddDomainConfigParams
- AddDomainConfig_200_response
- AddDomainConfig_200_response_anyOf
- AddPageAPIResponse
- AddSSOUserAPIResponse
- AggregateQuestionResultsResponse
- AggregateQuestionResults_200_response
- AggregateTimeBucket
- AggregationItem
- AggregationOpType
- AggregationOperation
- AggregationRequest
- AggregationRequest_sort
- AggregationResponse
- AggregationResponse_stats
- AggregationValue
- BlockFromCommentParams
- BlockFromCommentPublic_200_response
- BlockSuccess
- BulkAggregateQuestionItem
- BulkAggregateQuestionResultsRequest
- BulkAggregateQuestionResultsResponse
- BulkAggregateQuestionResults_200_response
- ChangeCommentPinStatusResponse
- CheckBlockedCommentsResponse
- CheckedCommentsForBlocked_200_response
- CombineCommentsWithQuestionResults_200_response
- CombineQuestionResultsWithCommentsResponse
- CommentData
- CommentHTMLRenderingMode
- CommentLogData
- CommentLogEntry
- CommentLogType
- CommentQuestionResultsRenderingType
- CommentQuestionsRequired
- CommentTextUpdateRequest
- CommentThreadDeletionMode
- CommentUserBadgeInfo
- CommentUserHashTagInfo
- CommentUserMentionInfo
- CommenterNameFormats
- CreateAPIPageData
- CreateAPISSOUserData
- CreateAPIUserSubscriptionData
- CreateCommentParams
- CreateCommentPublic_200_response
- CreateFeedPostParams
- CreateFeedPostPublic_200_response
- CreateFeedPostResponse
- CreateFeedPost_200_response
- CreateFeedPostsResponse
- CreateSubscriptionAPIResponse
- CreateUserBadgeParams
- CreateUserBadge_200_response
- CustomConfigParameters
- DeleteCommentAction
- DeleteCommentPublic_200_response
- DeleteCommentResult
- DeleteCommentVote_200_response
- DeleteComment_200_response
- DeleteDomainConfig_200_response
- DeleteFeedPostPublic_200_response
- DeleteFeedPostPublic_200_response_anyOf
- DeletePageAPIResponse
- DeleteSSOUserAPIResponse
- DeleteSubscriptionAPIResponse
- DeletedCommentResultComment
- EventLogEntry
- FComment
- FComment_meta
- FeedPost
- FeedPostLink
- FeedPostMediaItem
- FeedPostMediaItemAsset
- FeedPostStats
- FeedPostsStatsResponse
- FindCommentsByRangeItem
- FindCommentsByRangeResponse
- FlagCommentPublic_200_response
- FlagCommentResponse
- FlagComment_200_response
- GetAuditLogsResponse
- GetAuditLogs_200_response
- GetCommentText_200_response
- GetCommentVoteUserNamesSuccessResponse
- GetCommentVoteUserNames_200_response
- GetComment_200_response
- GetCommentsPublic_200_response
- GetCommentsResponseWithPresence_PublicComment_
- GetCommentsResponse_PublicComment_
- GetComments_200_response
- GetDomainConfig_200_response
- GetDomainConfigs_200_response
- GetDomainConfigs_200_response_anyOf
- GetDomainConfigs_200_response_anyOf_1
- GetEventLogResponse
- GetEventLog_200_response
- GetFeedPostsPublic_200_response
- GetFeedPostsResponse
- GetFeedPostsStats_200_response
- GetFeedPosts_200_response
- GetMyNotificationsResponse
- GetPageByURLIdAPIResponse
- GetPagesAPIResponse
- GetPublicFeedPostsResponse
- GetSSOUserByEmailAPIResponse
- GetSSOUserByIdAPIResponse
- GetSSOUsers_200_response
- GetSubscriptionsAPIResponse
- GetUserBadgeProgressById_200_response
- GetUserBadgeProgressList_200_response
- GetUserBadge_200_response
- GetUserBadges_200_response
- GetUserNotificationCountResponse
- GetUserNotificationCount_200_response
- GetUserNotifications_200_response
- GetUserPresenceStatusesResponse
- GetUserPresenceStatuses_200_response
- GetUserReactsPublic_200_response
- GifRating
- HeaderState
- IgnoredResponse
- ImageContentProfanityLevel
- LiveEvent
- LiveEventType
- LiveEvent_extraInfo
- LockComment_200_response
- MediaAsset
- MetaItem
- NotificationAndCount
- NotificationObjectType
- NotificationType
- PatchDomainConfigParams
- PatchPageAPIResponse
- PatchSSOUserAPIResponse
- PinComment_200_response
- PubSubComment
- PubSubCommentBase
- PubSubVote
- PublicAPIDeleteCommentResponse
- PublicAPIGetCommentTextResponse
- PublicAPISetCommentTextResponse
- PublicBlockFromCommentParams
- PublicComment
- PublicCommentBase
- PublicFeedPostsResponse
- PutSSOUserAPIResponse
- QueryPredicate
- QueryPredicate_value
- QuestionDatum
- QuestionRenderingType
- QuestionResult
- QuestionResultAggregationOverall
- QuestionSubQuestionVisibility
- QuestionWhenSave
- ReactBodyParams
- ReactFeedPostPublic_200_response
- ReactFeedPostResponse
- Record_string__before_string_or_null__after_string_or_null___value
- Record_string_string_or_number__value
- RenderableUserNotification
- RepeatCommentCheckIgnoredReason
- RepeatCommentHandlingAction
- ResetUserNotificationsResponse
- ResetUserNotifications_200_response
- SORT_DIR
- SSOSecurityLevel
- SaveCommentResponse
- SaveCommentResponseOptimized
- SaveComment_200_response
- SaveCommentsResponseWithPresence
- SearchUsersResponse
- SearchUsers_200_response
- SetCommentTextResult
- SetCommentText_200_response
- SizePreset
- SortDirections
- SpamRule
- UnBlockCommentPublic_200_response
- UnBlockFromCommentParams
- UnblockSuccess
- UpdatableCommentParams
- UpdateAPIPageData
- UpdateAPISSOUserData
- UpdateDomainConfigParams
- UpdateFeedPostParams
- UpdateUserBadgeParams
- UpdateUserBadge_200_response
- UpdateUserNotificationStatus_200_response
- UploadImageResponse
- UserBadge
- UserBadgeProgress
- UserNotification
- UserNotificationWriteResponse
- UserPresenceData
- UserReactsResponse
- UserSearchResult
- UserSessionInfo
- VoteBodyParams
- VoteComment_200_response
- VoteDeleteResponse
- VoteResponse
- VoteResponseUser
- VoteStyle
Documentation for Authorization
api_key
- Type: API key
- API key parameter name: x-api-key
- Location: HTTP header
addDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| addDomainConfigParams | AddDomainConfigParams | No |
Response
Returns: Option[AddDomainConfig_200_response]
Example

addPage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createAPIPageData | CreateAPIPageData | No |
Response
Returns: Option[AddPageAPIResponse]
Example

addSSOUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createAPISSOUserData | CreateAPISSOUserData | No |
Response
Returns: Option[AddSSOUserAPIResponse]
Example

aggregate 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| aggregationRequest | AggregationRequest | No | |
| parentTenantId | string | No | |
| includeStats | bool | No |
Response
Returns: Option[AggregationResponse]
Example

aggregateQuestionResults 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| questionId | string | No | |
| questionIds | seq[string] | No | |
| urlId | string | Yes | |
| timeBucket | AggregateTimeBucket | No | |
| startDate | string | No | |
| forceRecalculate | bool | No |
Response
Returns: Option[AggregateQuestionResults_200_response]
Example

blockFromCommentPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | No | |
| sso | string | No |
Response
Returns: Option[BlockFromCommentPublic_200_response]
Example

blockUserFromComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| blockFromCommentParams | BlockFromCommentParams | No | |
| userId | string | No | |
| anonUserId | string | No |
Response
Returns: Option[BlockFromCommentPublic_200_response]
Example

bulkAggregateQuestionResults 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| bulkAggregateQuestionResultsRequest | BulkAggregateQuestionResultsRequest | No | |
| forceRecalculate | bool | No |
Response
Returns: Option[BulkAggregateQuestionResults_200_response]
Example

checkedCommentsForBlocked 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentIds | string | No | |
| sso | string | No |
Response
Returns: Option[CheckedCommentsForBlocked_200_response]
Example

combineCommentsWithQuestionResults 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| questionId | string | No | |
| questionIds | seq[string] | No | |
| urlId | string | Yes | |
| startDate | string | No | |
| forceRecalculate | bool | No | |
| minValue | float64 | No | |
| maxValue | float64 | No | |
| limit | float64 | No |
Response
Returns: Option[CombineCommentsWithQuestionResults_200_response]
Example

createCommentPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| commentData | CommentData | No | |
| sessionId | string | No | |
| sso | string | No |
Response
Returns: Option[CreateCommentPublic_200_response]
Example

createFeedPost 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createFeedPostParams | CreateFeedPostParams | No | |
| broadcastId | string | No | |
| isLive | bool | No | |
| doSpamCheck | bool | No | |
| skipDupCheck | bool | No |
Response
Returns: Option[CreateFeedPost_200_response]
Example

createFeedPostPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createFeedPostParams | CreateFeedPostParams | No | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[CreateFeedPostPublic_200_response]
Example

createSubscription 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createAPIUserSubscriptionData | CreateAPIUserSubscriptionData | No |
Response
Returns: Option[CreateSubscriptionAPIResponse]
Example

createUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createUserBadgeParams | CreateUserBadgeParams | No |
Response
Returns: Option[CreateUserBadge_200_response]
Example

deleteComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| contextUserId | string | No | |
| isLive | bool | No |
Response
Returns: Option[DeleteComment_200_response]
Example

deleteCommentPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| editKey | string | No | |
| sso | string | No |
Response
Returns: Option[DeleteCommentPublic_200_response]
Example

deleteCommentVote 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| voteId | string | No | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| editKey | string | No | |
| sso | string | No |
Response
Returns: Option[DeleteCommentVote_200_response]
Example

deleteDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| domain | string | No |
Response
Returns: Option[DeleteDomainConfig_200_response]
Example

deleteFeedPostPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | No | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[DeleteFeedPostPublic_200_response]
Example

deletePage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Response
Returns: Option[DeletePageAPIResponse]
Example

deleteSSOUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| deleteComments | bool | No | |
| commentDeleteMode | string | No |
Response
Returns: Option[DeleteSSOUserAPIResponse]
Example

deleteSubscription 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| userId | string | No |
Response
Returns: Option[DeleteSubscriptionAPIResponse]
Example

deleteUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Response
Returns: Option[UpdateUserBadge_200_response]
Example

flagComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| userId | string | No | |
| anonUserId | string | No |
Response
Returns: Option[FlagComment_200_response]
Example

flagCommentPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| isFlagged | bool | No | |
| sso | string | No |
Response
Returns: Option[FlagCommentPublic_200_response]
Example

getAuditLogs 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| limit | float64 | No | |
| skip | float64 | No | |
| order | SORTDIR | No | |
| after | float64 | No | |
| before | float64 | No |
Response
Returns: Option[GetAuditLogs_200_response]
Example

getComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Response
Returns: Option[GetComment_200_response]
Example

getComments 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| page | int | No | |
| limit | int | No | |
| skip | int | No | |
| asTree | bool | No | |
| skipChildren | int | No | |
| limitChildren | int | No | |
| maxTreeDepth | int | No | |
| urlId | string | Yes | |
| userId | string | No | |
| anonUserId | string | No | |
| contextUserId | string | No | |
| hashTag | string | No | |
| parentId | string | No | |
| direction | SortDirections | No |
Response
Returns: Option[GetComments_200_response]
Example

getCommentsPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| page | int | No | |
| direction | SortDirections | No | |
| sso | string | No | |
| skip | int | No | |
| skipChildren | int | No | |
| limit | int | No | |
| limitChildren | int | No | |
| countChildren | bool | No | |
| fetchPageForCommentId | string | No | |
| includeConfig | bool | No | |
| countAll | bool | No | |
| includei10n | bool | No | |
| locale | string | No | |
| modules | string | No | |
| isCrawler | bool | No | |
| includeNotificationCount | bool | No | |
| asTree | bool | No | |
| maxTreeDepth | int | No | |
| useFullTranslationIds | bool | No | |
| parentId | string | No | |
| searchText | string | No | |
| hashTags | seq[string] | No | |
| userId | string | No | |
| customConfigStr | string | No | |
| afterCommentId | string | No | |
| beforeCommentId | string | No |
Response
Returns: Option[GetCommentsPublic_200_response]
Example

getCommentText 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| editKey | string | No | |
| sso | string | No |
Response
Returns: Option[GetCommentText_200_response]
Example

getCommentVoteUserNames 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| dir | int | No | |
| sso | string | No |
Response
Returns: Option[GetCommentVoteUserNames_200_response]
Example

getDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| domain | string | No |
Response
Returns: Option[GetDomainConfig_200_response]
Example

getDomainConfigs 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes |
Response
Returns: Option[GetDomainConfigs_200_response]
Example

getEventLog 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| userIdWS | string | No | |
| startTime | int64 | No | |
| endTime | int64 | No |
Response
Returns: Option[GetEventLog_200_response]
Example

getFeedPosts 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| afterId | string | No | |
| limit | int | No | |
| tags | seq[string] | No |
Response
Returns: Option[GetFeedPosts_200_response]
Example

getFeedPostsPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| afterId | string | No | |
| limit | int | No | |
| tags | seq[string] | No | |
| sso | string | No | |
| isCrawler | bool | No | |
| includeUserInfo | bool | No |
Response
Returns: Option[GetFeedPostsPublic_200_response]
Example

getFeedPostsStats 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | seq[string] | No | |
| sso | string | No |
Response
Returns: Option[GetFeedPostsStats_200_response]
Example

getGlobalEventLog 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| userIdWS | string | No | |
| startTime | int64 | No | |
| endTime | int64 | No |
Response
Returns: Option[GetEventLog_200_response]
Example

getPageByURLId 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes |
Response
Returns: Option[GetPageByURLIdAPIResponse]
Example

getPages 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes |
Response
Returns: Option[GetPagesAPIResponse]
Example

getSSOUserByEmail 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| string | No |
Response
Returns: Option[GetSSOUserByEmailAPIResponse]
Example

getSSOUserById 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Response
Returns: Option[GetSSOUserByIdAPIResponse]
Example

getSSOUsers 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| skip | int | No |
Response
Returns: Option[GetSSOUsers_200_response]
Example

getSubscriptions 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | No |
Response
Returns: Option[GetSubscriptionsAPIResponse]
Example

getUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Response
Returns: Option[GetUserBadge_200_response]
Example

getUserBadgeProgressById 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
Response
Returns: Option[GetUserBadgeProgressById_200_response]
Example

getUserBadgeProgressByUserId 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | No |
Response
Returns: Option[GetUserBadgeProgressById_200_response]
Example

getUserBadgeProgressList 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | No | |
| limit | float64 | No | |
| skip | float64 | No |
Response
Returns: Option[GetUserBadgeProgressList_200_response]
Example

getUserBadges 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | No | |
| badgeId | string | No | |
| displayedOnComments | bool | No | |
| limit | float64 | No | |
| skip | float64 | No |
Response
Returns: Option[GetUserBadges_200_response]
Example

getUserNotificationCount 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| sso | string | No |
Response
Returns: Option[GetUserNotificationCount_200_response]
Example

getUserNotifications 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| pageSize | int | No | |
| afterId | string | No | |
| includeContext | bool | No | |
| afterCreatedAt | int64 | No | |
| unreadOnly | bool | No | |
| dmOnly | bool | No | |
| noDm | bool | No | |
| includeTranslations | bool | No | |
| sso | string | No |
Response
Returns: Option[GetUserNotifications_200_response]
Example

getUserPresenceStatuses 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlIdWS | string | No | |
| userIds | string | No |
Response
Returns: Option[GetUserPresenceStatuses_200_response]
Example

getUserReactsPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | seq[string] | No | |
| sso | string | No |
Response
Returns: Option[GetUserReactsPublic_200_response]
Example

lockComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[LockComment_200_response]
Example

patchDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | No | |
| patchDomainConfigParams | PatchDomainConfigParams | No |
Response
Returns: Option[GetDomainConfig_200_response]
Example

patchPage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| updateAPIPageData | UpdateAPIPageData | No |
Response
Returns: Option[PatchPageAPIResponse]
Example

patchSSOUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| updateAPISSOUserData | UpdateAPISSOUserData | No | |
| updateComments | bool | No |
Response
Returns: Option[PatchSSOUserAPIResponse]
Example

pinComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[PinComment_200_response]
Example

putDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | No | |
| updateDomainConfigParams | UpdateDomainConfigParams | No |
Response
Returns: Option[GetDomainConfig_200_response]
Example

putSSOUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| updateAPISSOUserData | UpdateAPISSOUserData | No | |
| updateComments | bool | No |
Response
Returns: Option[PutSSOUserAPIResponse]
Example

reactFeedPostPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | No | |
| reactBodyParams | ReactBodyParams | No | |
| isUndo | bool | No | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[ReactFeedPostPublic_200_response]
Example

resetUserNotificationCount 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| sso | string | No |
Response
Returns: Option[ResetUserNotifications_200_response]
Example

resetUserNotifications 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| afterId | string | No | |
| afterCreatedAt | int64 | No | |
| unreadOnly | bool | No | |
| dmOnly | bool | No | |
| noDm | bool | No | |
| sso | string | No |
Response
Returns: Option[ResetUserNotifications_200_response]
Example

saveComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | CreateCommentParams | No | |
| isLive | bool | No | |
| doSpamCheck | bool | No | |
| sendEmails | bool | No | |
| populateNotifications | bool | No |
Response
Returns: Option[SaveComment_200_response]
Example

saveCommentsBulk 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | seq[CreateCommentParams] | No | |
| isLive | bool | No | |
| doSpamCheck | bool | No | |
| sendEmails | bool | No | |
| populateNotifications | bool): (Option[seq[SaveComment_200_response]] | No | |
| id | string | No | |
| unBlockFromCommentParams | UnBlockFromCommentParams | No | |
| userId | string | No | |
| anonUserId | string | No |
Response
Returns: Option[UnBlockCommentPublic_200_response]
Example

searchUsers 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| usernameStartsWith | string | No | |
| mentionGroupIds | seq[string] | No | |
| sso | string | No |
Response
Returns: Option[SearchUsers_200_response]
Example

setCommentText 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| commentTextUpdateRequest | CommentTextUpdateRequest | No | |
| editKey | string | No | |
| sso | string | No |
Response
Returns: Option[SetCommentText_200_response]
Example

unBlockCommentPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | No | |
| sso | string | No |
Response
Returns: Option[UnBlockCommentPublic_200_response]
Example

unFlagComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| userId | string | No | |
| anonUserId | string | No |
Response
Returns: Option[FlagComment_200_response]
Example

unLockComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[LockComment_200_response]
Example

unPinComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[PinComment_200_response]
Example

updateComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| updatableCommentParams | UpdatableCommentParams | No | |
| contextUserId | string | No | |
| doSpamCheck | bool | No | |
| isLive | bool | No |
Response
Returns: Option[FlagCommentPublic_200_response]
Example

updateFeedPost 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| feedPost | FeedPost | No |
Response
Returns: Option[FlagCommentPublic_200_response]
Example

updateFeedPostPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | No | |
| updateFeedPostParams | UpdateFeedPostParams | No | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: Option[CreateFeedPostPublic_200_response]
Example

updateUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| updateUserBadgeParams | UpdateUserBadgeParams | No |
Response
Returns: Option[UpdateUserBadge_200_response]
Example

updateUserNotificationCommentSubscriptionStatus 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| notificationId | string | No | |
| optedInOrOut | string | No | |
| commentId | string | Yes | |
| sso | string | No |
Response
Returns: Option[UpdateUserNotificationStatus_200_response]
Example

updateUserNotificationPageSubscriptionStatus 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| url | string | No | |
| pageTitle | string | No | |
| subscribedOrUnsubscribed | string | No | |
| sso | string | No |
Response
Returns: Option[UpdateUserNotificationStatus_200_response]
Example

updateUserNotificationStatus 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| notificationId | string | No | |
| newStatus | string | No | |
| sso | string | No |
Response
Returns: Option[UpdateUserNotificationStatus_200_response]
Example

uploadImage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| file | string | No | |
| sizePreset | SizePreset | No | |
| urlId | string | Yes |
Response
Returns: Option[UploadImageResponse]
Example

voteComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| voteBodyParams | VoteBodyParams | No | |
| sessionId | string | No | |
| sso | string | No |
Response
Returns: Option[VoteComment_200_response]
Example

Need Help?
If you encounter any issues or have questions about the Nim SDK, please:
Contributing
Contributions are welcome! Please visit the GitHub repository for contribution guidelines.