
Language 🇺🇸 English
Documentation
Getting Started
API Reference
Agent Tenants
Aggregate
Audit Logs
Auth
Batch Jobs
Block From Comment
Check Blocked Comments
Comments
Comments For User
Domain Configs
Email Templates
Event Log
Feed Posts
Flag Comment
Gifs
Hash Tags
Me
Moderation
Moderators
Notification Count
Notifications
Page Reacts
Pages
Pending Webhook Events
Poll Votes
Polls
Question Configs
Question Results
Question Results Aggregation
SSO Users
Subscriptions
Tenant Daily Usage
Tenant Packages
Tenant Users
Tenants
Tickets
Translations
Upload Image
User Badge Progress
User Badges
User Notifications
User Presence Status
User Search
Users
Votes
Webhooks
FastComments Swift SDK
This is the official Swift SDK for FastComments.
Manage comments, users, SSO, and moderation from your Swift applications.
Repository
AI coding agents 
Give your coding agent the FastComments context it needs - widgets, configuration, Secure SSO, the REST API, and the SDKs:
npx skills add fastcomments/skills
Works with Claude Code, Codex, Cursor, Copilot, Gemini, and every other agent the skills CLI supports.
Installation 
Swift Package Manager
Add the following to your Package.swift file:
dependencies: [
.package(url: "https://github.com/fastcomments/fastcomments-swift.git", from: "3.1.2")
]
Or in Xcode:
- File > Add Packages...
- Enter the repository URL:
https://github.com/fastcomments/fastcomments-swift.git - Select the version you want to use
Requirements
- Swift 5.9+
- iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 6.0+
Library Contents 
The FastComments Swift SDK consists of several modules:
-
Client Module - API client for FastComments REST APIs
- Complete type definitions for all API models
- Authenticated (
DefaultAPI), public (PublicAPI), and moderation (ModerationAPI) methods - Full async/await support
- See client/README.md for detailed API documentation
-
SSO Module - Server-side Single Sign-On utilities
- Secure token generation for user authentication
- Support for both simple and secure SSO modes
- HMAC-SHA256 based token signing using CryptoKit
Quick Start 
Using the Public API
import FastCommentsSwift
// Fetch comments for a page
do {
let response = try await PublicAPI.getCommentsPublic(
tenantId: "your-tenant-id",
urlId: "page-url-id"
)
print("Found \(response.comments?.count ?? 0) comments")
for comment in response.comments ?? [] {
print("Comment: \(comment.comment ?? "")")
}
} catch {
print("Error fetching comments: \(error)")
}
Using the Authenticated API
import FastCommentsSwift
// Configure your API key on the shared configuration (sent as the x-api-key header)
FastCommentsSwiftAPIConfiguration.shared.customHeaders["x-api-key"] = "your-api-key"
// Fetch comments using authenticated API
do {
let response = try await DefaultAPI.getComments(
tenantId: "your-tenant-id",
options: .init(urlId: "page-url-id")
)
print("Total comments: \(response.count ?? 0)")
for comment in response.comments ?? [] {
print("Comment ID: \(comment.id ?? ""), Text: \(comment.comment ?? "")")
}
} catch {
print("Error: \(error)")
}
Using the Moderation API
import FastCommentsSwift
// Moderation methods are authorized with an `sso` token for the acting moderator
// (generate it with FastCommentsSSO, see the SSO section above).
do {
let response = try await ModerationAPI.getApiComments(
options: .init(
page: 0,
count: 30,
sso: ssoToken
)
)
print("Found \(response.comments.count) comments to moderate")
for comment in response.comments {
print("Comment ID: \(comment.id), Text: \(comment.commentHTML)")
}
} catch {
print("Error: \(error)")
}
Using SSO for Authentication
Secure SSO (Recommended for Production)
import FastCommentsSwift
let apiKey = "your-api-key"
// Create secure SSO user data (server-side only!)
let userData = SecureSSOUserData(
id: "user-123", // User ID
email: "user@example.com", // Email
username: "johndoe", // Username
avatar: "https://example.com/avatar.jpg" // Avatar URL
)
// Generate SSO token
do {
let sso = try FastCommentsSSO.createSecure(apiKey: apiKey, secureSSOUserData: userData)
let token = try sso.createToken()
print("SSO Token: \(token ?? "")")
// Pass this token to your frontend for authentication
} catch {
print("Error creating SSO token: \(error)")
}
Simple SSO (For Development/Testing)
import FastCommentsSwift
// Create simple SSO user data (no API key needed)
let userData = SimpleSSOUserData(
username: "johndoe",
email: "user@example.com",
avatar: "https://example.com/avatar.jpg"
)
// Generate simple SSO token
let sso = FastCommentsSSO.createSimple(simpleSSOUserData: userData)
do {
let token = try sso.createToken()
print("Simple SSO Token: \(token ?? "")")
} catch {
print("Error creating SSO token: \(error)")
}
API Clients 
The FastComments SDK provides three API clients:
PublicAPI - Client-Safe Methods
The PublicAPI contains methods that are safe to call from client-side code (iOS/macOS apps). These methods:
- Do not require an API key
- Can use SSO tokens for authentication
- Are rate-limited per user/device
- Are suitable for end-user facing applications
Example use case: Fetching and creating comments in your iOS app
DefaultAPI - Server-Side Methods
The DefaultAPI contains authenticated methods that require an API key. These methods:
- Require your FastComments API key
- Should ONLY be called from server-side code
- Provide full access to your FastComments data
- Are rate-limited per tenant
Example use case: Administrative operations, bulk data export, user management
ModerationAPI - Moderator Dashboard Methods
The ModerationAPI provides an extensive suite of live and fast moderation APIs. Every ModerationAPI method accepts an sso parameter and can authenticate via SSO or a FastComments.com session cookie.
Example use case: Building a moderation experience for moderators of your community
IMPORTANT: Never expose your API key in client-side code. API keys should only be used server-side.
Making API Calls 
The Swift SDK uses modern async/await syntax for all API calls:
let response = try await PublicAPI.getCommentsPublic(
tenantId: "your-tenant-id",
urlId: "page-url-id"
)
Common Issues 
401 Unauthorized Errors
If you're getting 401 errors when using the authenticated API:
- Check your API key: Ensure you're using the correct API key from your FastComments dashboard
- Verify the tenant ID: Make sure the tenant ID matches your account
- API key format: The API key should be set as the
x-api-keyheader on the shared configuration:
FastCommentsSwiftAPIConfiguration.shared.customHeaders["x-api-key"] = "YOUR_API_KEY"
- Using the wrong API: Make sure you're using
DefaultAPI(notPublicAPI) for authenticated calls
SSO Token Issues
If SSO tokens aren't working:
- Use secure mode for production: Always use
FastCommentsSSO.createSecure()with your API key for production - Server-side only: Generate secure SSO tokens on your server, never expose your API key to clients
- Check user data: Ensure all required fields (id, email, username) are provided
- Token expiration: Secure SSO tokens include a timestamp and may expire. Generate fresh tokens as needed.
SSL/TLS Errors
If you encounter SSL/TLS errors:
- Ensure your app's Info.plist allows HTTPS connections to fastcomments.com
- Check that you're not using App Transport Security exceptions that might block the connection
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 session.
let broadcastId = UUID().uuidString
createAgentTenant 
Creates a new trial account for an AI agent without a human signup. No API key is needed to call this.
The response contains the tenant id, an API key that works immediately against the REST API and the MCP server, and a claim URL. Give the claim URL to the human you are working for: opening it while logged in to FastComments attaches the account to them. Unclaimed accounts, and their keys, are deleted 72 hours after creation. Until claimed, the account has the standard trial limits.
Response
Returns: CreateAgentTenantResponse
Example

aggregate 
Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| parentTenantId | string | query | No | |
| includeStats | boolean | query | No |
Response
Returns: AggregateResponse
Example

getAuditLogs 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | The tenant to read audit logs for. |
| limit | integer | query | No | How many logs to return. Max 10000, defaults to 1000. |
| skip | integer | query | No | How many logs to skip, for paging. |
| order | string | query | No | Sort direction on the event time. Defaults to DESC (newest first). |
| after | integer | query | No | |
| before | integer | query | No | |
| username | string | query | No | Only return events performed by this username. |
| ip | string | query | No | Only return events from this IP address. |
| crudType | string | query | No | Only return events of this type: c, r, u, d, or login. |
| resourceName | string | query | No | Only return events for this resource, e.g. User or Moderator. |
| targetId | string | query | No | Only return events whose affected object has this id. |
| target | string | query | No | Case-insensitive substring match on the affected object's label, e.g. a username or email. |
| includeManagedTenants | boolean | query | No | Also return events from tenants this tenant manages. |
Response
Returns: GetAuditLogsResponse
Example

logoutPublic 
Response
Returns: APIEmptyResponse
Example

getBatchJob 
Status, progress and, once done, the result of one batch job.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetBatchJobAPIResponse
Example

getBatchJobs 
The tenant's batch jobs (imports, exports, page migrations...), newest first.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| type | string | query | No | Only jobs of this type, for example migrate-pages. |
| status | string | query | No | Only jobs in this status: requested, running, success or failed. |
| skip | integer | query | No | How many jobs to skip, for paging. |
Response
Returns: GetBatchJobsAPIResponse
Example

blockFromCommentPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: BlockSuccess
Example

unBlockCommentPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: UnblockSuccess
Example

checkedCommentsForBlocked 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentIds | string | query | Yes | A comma separated list of comment ids. |
| sso | string | query | No |
Response
Returns: CheckBlockedCommentsResponse
Example

blockUserFromComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: BlockSuccess
Example

createCommentPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| sessionId | string | query | No | |
| sso | string | query | No | |
| locale | string | query | No |
Response
Returns: SaveCommentsResponseWithPresence
Example

deleteComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| contextUserId | string | query | No | |
| isLive | boolean | query | No |
Response
Returns: DeleteCommentResult
Example

deleteCommentPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: PublicAPIDeleteCommentResponse
Example

deleteCommentVote 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| voteId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: VoteDeleteResponse
Example

flagComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: FlagCommentResponse
Example

getComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIGetCommentResponse
Example

getComments 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| page | integer | query | No | |
| limit | integer | query | No | |
| skip | integer | query | No | |
| asTree | boolean | query | No | |
| skipChildren | integer | query | No | |
| limitChildren | integer | query | No | |
| maxTreeDepth | integer | query | No | |
| urlId | string | query | No | |
| userId | string | query | No | |
| anonUserId | string | query | No | |
| contextUserId | string | query | No | |
| hashTag | string | query | No | |
| parentId | string | query | No | |
| direction | string | query | No | |
| fromDate | integer | query | No | |
| toDate | integer | query | No |
Response
Returns: APIGetCommentsResponse
Example

getCommentsPublic 
req tenantId urlId
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| page | integer | query | No | |
| direction | string | query | No | |
| sso | string | query | No | |
| skip | integer | query | No | |
| skipChildren | integer | query | No | |
| limit | integer | query | No | |
| limitChildren | integer | query | No | |
| countChildren | boolean | query | No | |
| fetchPageForCommentId | string | query | No | |
| includeConfig | boolean | query | No | |
| countAll | boolean | query | No | |
| includei10n | boolean | query | No | |
| locale | string | query | No | |
| modules | string | query | No | |
| isCrawler | boolean | query | No | |
| includeNotificationCount | boolean | query | No | |
| asTree | boolean | query | No | |
| maxTreeDepth | integer | query | No | |
| useFullTranslationIds | boolean | query | No | |
| parentId | string | query | No | |
| searchText | string | query | No | |
| hashTags | array | query | No | |
| userId | string | query | No | |
| customConfigStr | string | query | No | |
| afterCommentId | string | query | No | |
| beforeCommentId | string | query | No | |
| questionId | string | query | No | |
| questionValue | integer | query | No |
Response
Returns: GetCommentsResponseWithPresencePublicComment
Example

getCommentText 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: PublicAPIGetCommentTextResponse
Example

getCommentVoteUserNames 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| dir | integer | query | Yes | |
| sso | string | query | No |
Response
Returns: GetCommentVoteUserNamesSuccessResponse
Example

lockComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

pinComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: ChangeCommentPinStatusResponse
Example

saveComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| sendEmails | boolean | query | No | |
| populateNotifications | boolean | query | No |
Response
Returns: APISaveCommentResponse
Example

saveCommentsBulk 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| sendEmails | boolean | query | No | |
| populateNotifications | boolean | query | No |
Response
Returns: [SaveCommentsBulkResponse]
Example

setCommentText 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: PublicAPISetCommentTextResponse
Example

translateComments 
Translates the given comments into the widget locale. Only available when the matching widget customization rule has Comment Translation set to Automatic or Manual.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| sso | string | query | No | |
| locale | string | query | No |
Response
Returns: CommentTranslationsResponse
Example

unBlockUserFromComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: UnblockSuccess
Example

unFlagComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: FlagCommentResponse
Example

unLockComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

unPinComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: ChangeCommentPinStatusResponse
Example

updateComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| contextUserId | string | query | No | |
| doSpamCheck | boolean | query | No | |
| isLive | boolean | query | No |
Response
Returns: APIEmptyResponse
Example

voteComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| sessionId | string | query | No | |
| sso | string | query | No |
Response
Returns: VoteResponse
Example

getCommentsForUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| userId | string | query | No | |
| direction | string | query | No | |
| repliesToUserId | string | query | No | |
| page | number | query | No | |
| includei10n | boolean | query | No | |
| locale | string | query | No | |
| isCrawler | boolean | query | No |
Response
Returns: GetCommentsForUserResponse
Example

addDomainConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: AddDomainConfigResponse
Example

deleteDomainConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domain | string | path | Yes |
Response
Returns: DeleteDomainConfigResponse
Example

getDomainConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domain | string | path | Yes |
Response
Returns: GetDomainConfigResponse
Example

getDomainConfigs 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: GetDomainConfigsResponse
Example

patchDomainConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domainToUpdate | string | path | Yes |
Response
Returns: PatchDomainConfigResponse
Example

putDomainConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domainToUpdate | string | path | Yes |
Response
Returns: PutDomainConfigResponse
Example

createEmailTemplate 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateEmailTemplateResponse
Example

deleteEmailTemplate 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

deleteEmailTemplateRenderError 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| errorId | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getEmailTemplate 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetEmailTemplateResponse
Example

getEmailTemplateDefinitions 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: GetEmailTemplateDefinitionsResponse
Example

getEmailTemplateRenderErrors 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| skip | number | query | No |
Response
Returns: GetEmailTemplateRenderErrorsResponse
Example

getEmailTemplates 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | number | query | No |
Response
Returns: GetEmailTemplatesResponse
Example

renderEmailTemplate 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| locale | string | query | No |
Response
Returns: RenderEmailTemplateResponse
Example

updateEmailTemplate 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getEventLog 
req tenantId urlId userIdWS
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| userIdWS | string | query | Yes | |
| startTime | integer | query | Yes | |
| endTime | integer | query | No |
Response
Returns: GetEventLogResponse
Example

getGlobalEventLog 
req tenantId urlId userIdWS
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| userIdWS | string | query | Yes | |
| startTime | integer | query | Yes | |
| endTime | integer | query | No |
Response
Returns: GetEventLogResponse
Example

createFeedPost 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| broadcastId | string | query | No | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| skipDupCheck | boolean | query | No |
Response
Returns: CreateFeedPostsResponse
Example

createFeedPostPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: CreateFeedPostResponse
Example

deleteFeedPostPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: DeleteFeedPostPublicResponse
Example

getFeedPosts 
req tenantId afterId
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| afterId | string | query | No | |
| limit | integer | query | No | |
| tags | array | query | No |
Response
Returns: GetFeedPostsResponse
Example

getFeedPostsPublic 
req tenantId afterId
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| afterId | string | query | No | |
| limit | integer | query | No | |
| tags | array | query | No | |
| sso | string | query | No | |
| isCrawler | boolean | query | No | |
| includeUserInfo | boolean | query | No |
Response
Returns: PublicFeedPostsResponse
Example

getFeedPostsStats 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postIds | array | query | Yes | |
| sso | string | query | No |
Response
Returns: FeedPostsStatsResponse
Example

getUserReactsPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postIds | array | query | No | |
| sso | string | query | No |
Response
Returns: UserReactsResponse
Example

reactFeedPostPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| isUndo | boolean | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: ReactFeedPostResponse
Example

updateFeedPost 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

updateFeedPostPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: CreateFeedPostResponse
Example

flagCommentPublic 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| isFlagged | boolean | query | Yes | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

getGifLarge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| largeInternalURLSanitized | string | query | Yes |
Response
Returns: GifGetLargeResponse
Example

getGifsSearch 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| search | string | query | Yes | |
| locale | string | query | No | |
| rating | string | query | No | |
| page | number | query | No |
Response
Returns: GetGifsSearchResponse
Example

getGifsTrending 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| locale | string | query | No | |
| rating | string | query | No | |
| page | number | query | No |
Response
Returns: GetGifsTrendingResponse
Example

addHashTag 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateHashTagResponse
Example

addHashTagsBulk 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: BulkCreateHashTagsResponse
Example

deleteHashTag 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| tag | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getHashTags 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| page | number | query | No |
Response
Returns: GetHashTagsResponse
Example

patchHashTag 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| tag | string | path | Yes |
Response
Returns: UpdateHashTagResponse
Example

getMe 
Identifies the credential in use: the tenant it belongs to and, for OAuth tokens, the user who authorized it. Integrations use this to test a connection and label it.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: GetMeResponse
Example

deleteModerationVote 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| voteId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: VoteDeleteResponse
Example

getApiComments 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| page | number | query | No | |
| count | number | query | No | |
| text-search | string | query | No | |
| byIPFromComment | string | query | No | |
| filters | string | query | No | |
| searchFilters | string | query | No | |
| sorts | string | query | No | |
| demo | boolean | query | No | |
| sso | string | query | No |
Response
Returns: ModerationAPIGetCommentsResponse
Example

getApiExportStatus 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| batchJobId | string | query | No | |
| sso | string | query | No |
Response
Returns: ModerationExportStatusResponse
Example

getApiIds 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| text-search | string | query | No | |
| byIPFromComment | string | query | No | |
| filters | string | query | No | |
| searchFilters | string | query | No | |
| afterId | string | query | No | |
| demo | boolean | query | No | |
| sso | string | query | No |
Response
Returns: ModerationAPIGetCommentIdsResponse
Example

getBanUsersFromComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: GetBannedUsersFromCommentResponse
Example

getCommentBanStatus 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: GetCommentBanStatusResponse
Example

getCommentChildren 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: ModerationAPIChildCommentsResponse
Example

getCount 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| text-search | string | query | No | |
| byIPFromComment | string | query | No | |
| filter | string | query | No | |
| searchFilters | string | query | No | |
| demo | boolean | query | No | |
| sso | string | query | No |
Response
Returns: ModerationAPICountCommentsResponse
Example

getCounts 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: GetBannedUsersCountResponse
Example

getLogs 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: ModerationAPIGetLogsResponse
Example

getManualBadges 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: GetTenantManualBadgesResponse
Example

getManualBadgesForUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| badgesUserId | string | query | No | |
| commentId | string | query | No | |
| sso | string | query | No |
Response
Returns: GetUserManualBadgesResponse
Example

getModerationComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| includeEmail | boolean | query | No | |
| includeIP | boolean | query | No | |
| sso | string | query | No |
Response
Returns: ModerationAPICommentResponse
Example

getModerationCommentText 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: GetCommentTextResponse
Example

getPreBanSummary 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| includeByUserIdAndEmail | boolean | query | No | |
| includeByIP | boolean | query | No | |
| includeByEmailDomain | boolean | query | No | |
| sso | string | query | No |
Response
Returns: PreBanSummary
Example

getSearchCommentsSummary 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| value | string | query | No | |
| filters | string | query | No | |
| searchFilters | string | query | No | |
| sso | string | query | No |
Response
Returns: ModerationCommentSearchResponse
Example

getSearchPages 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| value | string | query | No | |
| sso | string | query | No |
Response
Returns: ModerationPageSearchResponse
Example

getSearchSites 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| value | string | query | No | |
| sso | string | query | No |
Response
Returns: ModerationSiteSearchResponse
Example

getSearchSuggest 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| text-search | string | query | No | |
| sso | string | query | No |
Response
Returns: ModerationSuggestResponse
Example

getSearchUsers 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| value | string | query | No | |
| sso | string | query | No |
Response
Returns: ModerationUserSearchResponse
Example

getTrustFactor 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| sso | string | query | No |
Response
Returns: GetUserTrustFactorResponse
Example

getUserBanPreference 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: APIModerateGetUserBanPreferencesResponse
Example

getUserInternalProfile 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | query | No | |
| sso | string | query | No |
Response
Returns: GetUserInternalProfileResponse
Example

postAdjustCommentVotes 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: AdjustVotesResponse
Example

postApiExport 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| text-search | string | query | No | |
| byIPFromComment | string | query | No | |
| filters | string | query | No | |
| searchFilters | string | query | No | |
| sorts | string | query | No | |
| sso | string | query | No |
Response
Returns: ModerationExportResponse
Example

postBanUserFromComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| banEmail | boolean | query | No | |
| banEmailDomain | boolean | query | No | |
| banIP | boolean | query | No | |
| deleteAllUsersComments | boolean | query | No | |
| bannedUntil | string | query | No | |
| isShadowBan | boolean | query | No | |
| updateId | string | query | No | |
| banReason | string | query | No | |
| sso | string | query | No |
Response
Returns: BanUserFromCommentResult
Example

postBanUserUndo 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

postBulkPreBanSummary 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| includeByUserIdAndEmail | boolean | query | No | |
| includeByIP | boolean | query | No | |
| includeByEmailDomain | boolean | query | No | |
| sso | string | query | No |
Response
Returns: BulkPreBanSummary
Example

postCommentsByIds 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: ModerationAPIChildCommentsResponse
Example

postFlagComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

postRemoveComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: PostRemoveCommentApiResponse
Example

postRestoreDeletedComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

postSetCommentApprovalStatus 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| approved | boolean | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: SetCommentApprovedResponse
Example

postSetCommentReviewStatus 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| reviewed | boolean | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

postSetCommentSpamStatus 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| spam | boolean | query | No | |
| permNotSpam | boolean | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

postSetCommentText 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: SetCommentTextResponse
Example

postUnFlagComment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

postVote 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| direction | string | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: VoteResponse
Example

putAwardBadge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| badgeId | string | query | Yes | |
| userId | string | query | No | |
| commentId | string | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: AwardUserBadgeResponse
Example

putCloseThread 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

putRemoveBadge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| badgeId | string | query | Yes | |
| userId | string | query | No | |
| commentId | string | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: RemoveUserBadgeResponse
Example

putReopenThread 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: APIEmptyResponse
Example

setTrustFactor 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| trustFactor | string | query | No | |
| sso | string | query | No |
Response
Returns: SetUserTrustFactorResponse
Example

createModerator 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateModeratorResponse
Example

deleteModerator 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| sendEmail | string | query | No |
Response
Returns: APIEmptyResponse
Example

getModerator 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetModeratorResponse
Example

getModerators 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | number | query | No |
Response
Returns: GetModeratorsResponse
Example

sendInvite 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| fromName | string | query | Yes |
Response
Returns: APIEmptyResponse
Example

updateModerator 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

deleteNotificationCount 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getCachedNotificationCount 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetCachedNotificationCountResponse
Example

getNotificationCount 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| urlId | string | query | No | |
| fromCommentId | string | query | No | |
| viewed | boolean | query | No | |
| type | string | query | No |
Response
Returns: GetNotificationCountResponse
Example

getNotifications 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| urlId | string | query | No | |
| fromCommentId | string | query | No | |
| viewed | boolean | query | No | |
| type | string | query | No | |
| skip | number | query | No |
Response
Returns: GetNotificationsResponse
Example

updateNotification 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No |
Response
Returns: APIEmptyResponse
Example

createV1PageReact 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| title | string | query | No | |
| sso | string | query | No |
Response
Returns: CreateV1PageReact
Example

createV2PageReact 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| id | string | query | Yes | |
| title | string | query | No | |
| sso | string | query | No |
Response
Returns: CreateV1PageReact
Example

deleteV1PageReact 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: CreateV1PageReact
Example

deleteV2PageReact 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| id | string | query | Yes | |
| sso | string | query | No |
Response
Returns: CreateV1PageReact
Example

getV1PageLikes 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| sso | string | query | No | |
| includeUserInfo | string | query | No | When set, returns the users who liked the page (avatars and usernames). Only "public" is accepted, which omits private profiles. |
Response
Returns: GetV1PageLikes
Example

getV2PageReacts 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| sso | string | query | No | |
| includeUserInfo | string | query | No | When set, returns the users for each react id (avatars and usernames). Only "public" is accepted, which omits private profiles. |
Response
Returns: GetV2PageReacts
Example

getV2PageReactUsers 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| id | string | query | Yes | |
| sso | string | query | No |
Response
Returns: GetV2PageReactUsersResponse
Example

addPage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: AddPageAPIResponse
Example

deletePage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: DeletePageAPIResponse
Example

getOfflineUsers 
Past commenters on the page who are NOT currently online. Sorted by displayName. Use this after exhausting /users/online to render a "Members" section. Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName} index from afterName forward via $gt, no $skip cost.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | Page URL identifier (cleaned server-side). |
| afterName | string | query | No | Cursor: pass nextAfterName from the previous response. |
| afterUserId | string | query | No | Cursor tiebreaker: pass nextAfterUserId from the previous response. Required when afterName is set so name-ties don't drop entries. |
Response
Returns: PageUsersOfflineResponse
Example

getOnlineUsers 
Currently-online viewers of a page: people whose websocket session is subscribed to the page right now. Returns anonCount + totalCount (room-wide subscribers, including anon viewers we don't enumerate).
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | Page URL identifier (cleaned server-side). |
| afterName | string | query | No | Cursor: pass nextAfterName from the previous response. |
| afterUserId | string | query | No | Cursor tiebreaker: pass nextAfterUserId from the previous response. Required when afterName is set so name-ties don't drop entries. |
Response
Returns: PageUsersOnlineResponse
Example

getPageByURLId 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes |
Response
Returns: GetPageByURLIdAPIResponse
Example

getPageLikes 
Like count for a page, optionally with the users who liked it.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| includeUserInfo | string | query | No | "public" omits users with private profiles, "include-private" includes them. |
Response
Returns: GetPageLikesAPIResponse
Example

getPageReacts 
Custom react counts for a page, optionally with the users who reacted.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| includeUserInfo | string | query | No | "public" omits users with private profiles, "include-private" includes them. |
Response
Returns: GetPageReactsAPIResponse
Example

getPages 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: GetPagesAPIResponse
Example

getPagesPublic 
List pages for a tenant. Used by the FChat desktop client to populate its room list.
Requires enableFChat to be true on the resolved custom config for each page.
Pages that require SSO are filtered against the requesting user's group access.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| cursor | string | query | No | Opaque pagination cursor returned as nextCursor from a prior request. Tied to the same sortBy. |
| limit | integer | query | No | 1..200, default 50 |
| q | string | query | No | Optional case-insensitive title prefix filter. |
| sortBy | string | query | No | Sort order. updatedAt (default, newest first), commentCount (most comments first), or title (alphabetical). |
| hasComments | boolean | query | No | If true, only return pages with at least one comment. |
Response
Returns: GetPublicPagesResponse
Example

getUsersInfo 
Bulk user info for a tenant. Given userIds, return display info from User / SSOUser. Used by the comment widget to enrich users that just appeared via a presence event. No page context: privacy is enforced uniformly (private profiles are masked).
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| ids | string | query | Yes | Comma-delimited userIds. |
Response
Returns: PageUsersInfoResponse
Example

migratePages 
Queues a batch job that moves comments, pages and related records from one urlId or domain to another. "urlId" migrations only match the exact urlId. "domain" migrations find/replace the value inside every urlId and url. Poll GET /api/v1/batch-jobs/{batchJobId}: once it is done it carries per-migration results and an undoId.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: QueuePageMigrationJobAPIResponse
Example

patchPage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: PatchPageAPIResponse
Example

undoPageMigrations 
Queues a batch job that reverses every migration from one migrate-pages job, newest first. Available for 90 days. Records changed since the migration are left alone, so a later edit is never overwritten. Poll GET /api/v1/batch-jobs/{batchJobId} for the restored/skipped counts.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| undoId | string | path | Yes |
Response
Returns: QueuePageMigrationJobAPIResponse
Example

deletePendingWebhookEvent 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getPendingWebhookEventCount 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | query | No | |
| externalId | string | query | No | |
| eventType | string | query | No | |
| type | string | query | No | |
| domain | string | query | No | |
| attemptCountGT | number | query | No |
Response
Returns: GetPendingWebhookEventCountResponse
Example

getPendingWebhookEvents 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | query | No | |
| externalId | string | query | No | |
| eventType | string | query | No | |
| type | string | query | No | |
| domain | string | query | No | |
| attemptCountGT | number | query | No | |
| skip | number | query | No |
Response
Returns: GetPendingWebhookEventsResponse
Example

createPollVote 
Record a vote on a poll, or move an existing one to a different option. A voter has at most one vote per poll, so calling this again for the same voter moves their vote rather than adding one.
This obeys the site's poll settings: if voting is set to logged-in users only, a vote with just an anonUserId is rejected, and anonymous votes are rate limited per IP per poll.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreatePollVoteResponse
Example

deletePollVote 
Retract a vote. The option it was cast on gives its tally back.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: DeletePollVoteResponse
Example

getPollVote 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetPollVoteResponse
Example

getPollVotes 
The individual votes behind one poll's tallies, oldest first.
A poll belongs to a comment, so votes are always read one poll at a time - commentId is required. That keeps every query on the indexes the collection already has.
Obeys the poll's privacy: an anonymous poll's votes cannot be read (poll-anonymous), here or by id.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | query | Yes | |
| voterId | string | query | No | |
| optionId | string | query | No | |
| skip | integer | query | No |
Response
Returns: GetPollVotesResponse
Example

deletePoll 
Remove a poll from its comment, along with every vote cast on it. The comment itself is left alone.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getPoll 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes |
Response
Returns: GetPollResponse
Example

getPollVoters 
Who voted for which option. Anonymous polls never answer, admins-only polls answer only for an admin or moderator.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| urlId | string | query | No | |
| page | integer | query | No | |
| search | string | query | No | |
| sso | string | query | No |
Response
Returns: GetPollVoterNamesSuccessResponse
Example

patchPoll 
Edit a poll in place, keeping its tallies: change the question, relabel an option, close or reopen it, or change who may see the voters. Options are addressed by id - to add, remove or reorder them, PUT the full list.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes |
Response
Returns: SavePollResponse
Example

putPoll 
Attach a poll to a comment, or set the full state of the poll it already has.
Options are matched by id: an option sent with the id of an existing option keeps its votes (and takes the new label and position), an option sent without an id is added, and existing options left out of the list are removed along with the votes cast on them.
Keeping no existing option ids on a poll that has votes deletes all of them, so that needs replaceVotes=true.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| replaceVotes | boolean | query | No |
Response
Returns: SavePollResponse
Example

votePoll 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| urlId | string | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: VotePollResponse
Example

createQuestionConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateQuestionConfigResponse
Example

deleteQuestionConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getQuestionConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetQuestionConfigResponse
Example

getQuestionConfigs 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | number | query | No |
Response
Returns: GetQuestionConfigsResponse
Example

updateQuestionConfig 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

createQuestionResult 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateQuestionResultResponse
Example

deleteQuestionResult 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getQuestionResult 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetQuestionResultResponse
Example

getQuestionResults 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | No | |
| userId | string | query | No | |
| startDate | string | query | No | |
| questionId | string | query | No | |
| questionIds | string | query | No | |
| skip | number | query | No |
Response
Returns: GetQuestionResultsResponse
Example

updateQuestionResult 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

aggregateQuestionResults 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| questionId | string | query | No | |
| questionIds | array | query | No | |
| urlId | string | query | No | |
| timeBucket | string | query | No | |
| startDate | string | query | No | |
| forceRecalculate | boolean | query | No |
Response
Returns: AggregateQuestionResultsResponse
Example

bulkAggregateQuestionResults 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| forceRecalculate | boolean | query | No |
Response
Returns: BulkAggregateQuestionResultsResponse
Example

combineCommentsWithQuestionResults 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| questionId | string | query | No | |
| questionIds | array | query | No | |
| urlId | string | query | No | |
| startDate | string | query | No | |
| forceRecalculate | boolean | query | No | |
| minValue | number | query | No | |
| maxValue | number | query | No | |
| limit | number | query | No |
Response
Returns: CombineQuestionResultsWithCommentsResponse
Example

addSSOUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: AddSSOUserAPIResponse
Example

deleteSSOUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| deleteComments | boolean | query | No | |
| commentDeleteMode | string | query | No |
Response
Returns: DeleteSSOUserAPIResponse
Example

getSSOUserByEmail 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| string | path | Yes |
Response
Returns: GetSSOUserByEmailAPIResponse
Example

getSSOUserById 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetSSOUserByIdAPIResponse
Example

getSSOUsers 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | integer | query | No |
Response
Returns: GetSSOUsersResponse
Example

patchSSOUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | boolean | query | No |
Response
Returns: PatchSSOUserAPIResponse
Example

putSSOUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | boolean | query | No |
Response
Returns: PutSSOUserAPIResponse
Example

createSubscription 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateSubscriptionAPIResponse
Example

deleteSubscription 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No |
Response
Returns: DeleteSubscriptionAPIResponse
Example

getSubscriptions 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No |
Response
Returns: GetSubscriptionsAPIResponse
Example

updateSubscription 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No |
Response
Returns: UpdateSubscriptionAPIResponse
Example

getTenantDailyUsages 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| yearNumber | number | query | No | |
| monthNumber | number | query | No | |
| dayNumber | number | query | No | |
| skip | number | query | No |
Response
Returns: GetTenantDailyUsagesResponse
Example

createTenantPackage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateTenantPackageResponse
Example

deleteTenantPackage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getTenantPackage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetTenantPackageResponse
Example

getTenantPackages 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | number | query | No |
Response
Returns: GetTenantPackagesResponse
Example

replaceTenantPackage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

updateTenantPackage 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

createTenantUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateTenantUserResponse
Example

deleteTenantUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| deleteComments | string | query | No | |
| commentDeleteMode | string | query | No |
Response
Returns: APIEmptyResponse
Example

getTenantUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetTenantUserResponse
Example

getTenantUsers 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | number | query | No |
Response
Returns: GetTenantUsersResponse
Example

replaceTenantUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | string | query | No |
Response
Returns: APIEmptyResponse
Example

sendLoginLink 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| redirectURL | string | query | No |
Response
Returns: APIEmptyResponse
Example

updateTenantUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | string | query | No |
Response
Returns: APIEmptyResponse
Example

createTenant 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateTenantResponse
Example

deleteTenant 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| sure | string | query | No |
Response
Returns: APIEmptyResponse
Example

getTenant 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetTenantResponse
Example

getTenants 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| meta | string | query | No | |
| skip | number | query | No |
Response
Returns: GetTenantsResponse
Example

updateTenant 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

changeTicketState 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: ChangeTicketStateResponse
Example

createTicket 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | Yes |
Response
Returns: CreateTicketResponse
Example

getTicket 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No |
Response
Returns: GetTicketResponse
Example

getTickets 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| state | number | query | No | |
| skip | number | query | No | |
| limit | number | query | No |
Response
Returns: GetTicketsResponse
Example

getTranslations 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| namespace | string | path | Yes | |
| component | string | path | Yes | |
| locale | string | query | No | |
| useFullTranslationIds | boolean | query | No |
Response
Returns: GetTranslationsResponse
Example

uploadImage 
Upload and resize an image
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| sizePreset | string | query | No | Size preset: "Default" (1000x1000px) or "CrossPlatform" (creates sizes for popular devices) |
| urlId | string | query | No | Page id that upload is happening from, to configure |
Response
Returns: UploadImageResponse
Example

getUserBadgeProgressById 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIGetUserBadgeProgressResponse
Example

getUserBadgeProgressByUserId 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | path | Yes |
Response
Returns: APIGetUserBadgeProgressResponse
Example

getUserBadgeProgressList 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| limit | number | query | No | |
| skip | number | query | No |
Response
Returns: APIGetUserBadgeProgressListResponse
Example

createUserBadge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: APICreateUserBadgeResponse
Example

deleteUserBadge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptySuccessResponse
Example

getUserBadge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIGetUserBadgeResponse
Example

getUserBadges 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| badgeId | string | query | No | |
| type | number | query | No | |
| displayedOnComments | boolean | query | No | |
| limit | number | query | No | |
| skip | number | query | No |
Response
Returns: APIGetUserBadgesResponse
Example

updateUserBadge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptySuccessResponse
Example

getUserNotificationCount 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: GetUserNotificationCountResponse
Example

getUserNotifications 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | No | Used to determine whether the current page is subscribed. |
| pageSize | integer | query | No | |
| afterId | string | query | No | |
| includeContext | boolean | query | No | |
| afterCreatedAt | integer | query | No | |
| unreadOnly | boolean | query | No | |
| dmOnly | boolean | query | No | |
| noDm | boolean | query | No | |
| includeTranslations | boolean | query | No | |
| includeTenantNotifications | boolean | query | No | |
| sso | string | query | No |
Response
Returns: GetMyNotificationsResponse
Example

resetUserNotificationCount 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: ResetUserNotificationsResponse
Example

resetUserNotifications 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| afterId | string | query | No | |
| afterCreatedAt | integer | query | No | |
| unreadOnly | boolean | query | No | |
| dmOnly | boolean | query | No | |
| noDm | boolean | query | No | |
| sso | string | query | No |
Response
Returns: ResetUserNotificationsResponse
Example

updateUserNotificationCommentSubscriptionStatus 
Enable or disable notifications for a specific comment.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| notificationId | string | path | Yes | |
| optedInOrOut | string | path | Yes | |
| commentId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: UpdateUserNotificationCommentSubscriptionStatusResponse
Example

updateUserNotificationPageSubscriptionStatus 
Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| url | string | query | Yes | |
| pageTitle | string | query | Yes | |
| subscribedOrUnsubscribed | string | path | Yes | |
| sso | string | query | No |
Response
Returns: UpdateUserNotificationPageSubscriptionStatusResponse
Example

updateUserNotificationStatus 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| notificationId | string | path | Yes | |
| newStatus | string | path | Yes | |
| sso | string | query | No |
Response
Returns: UpdateUserNotificationStatusResponse
Example

getUserPresenceStatuses 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlIdWS | string | query | Yes | |
| userIds | string | query | Yes |
Response
Returns: GetUserPresenceStatusesResponse
Example

searchUsers 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| usernameStartsWith | string | query | No | |
| mentionGroupIds | array | query | No | |
| sso | string | query | No | |
| searchSection | string | query | No |
Response
Returns: SearchUsersResult
Example

getUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetUserResponse
Example

createVote 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | query | Yes | |
| direction | string | query | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: VoteResponse
Example

deleteVote 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| editKey | string | query | No |
Response
Returns: VoteDeleteResponse
Example

getVotes 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes |
Response
Returns: GetVotesResponse
Example

getVotesForUser 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: GetVotesForUserResponse
Example

createWebhook 
Subscribes a URL to a comment event (REST hook subscribe). Subscribing the same URL to the same
event and domain again returns the existing subscription. Deliveries are HMAC signed, see the
webhooks guide; the legacy token header is never sent to API subscriptions.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateWebhookResponse
Example

deleteWebhook 
Unsubscribes (REST hook unsubscribe). Only subscriptions created through this API can be deleted here; dashboard-managed webhooks are edited in the dashboard.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: APIEmptyResponse
Example

getWebhooks 
Lists the webhooks configured for the tenant, both dashboard-managed rows and API subscriptions.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| event | string | query | No | |
| domain | string | query | No | |
| source | string | query | No | |
| skip | number | query | No |
Response
Returns: GetWebhooksResponse
Example

getWebhookSamplePayloads 
Recent comments in exactly the shape webhook deliveries use, for building integrations (for example Zapier
sample data). Every event delivers the same comment object, so event only has to be valid.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| event | string | query | No | |
| limit | number | query | No |
Response
Returns: GetWebhookSamplePayloadsResponse
Example

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