
Language 🇺🇸 English
Getting Started
API Reference
Documentation
Usage
Aggregate
Audit Logs
Block From Comment
Check Blocked Comments
Comments
Comments For User
Domain Configs
Email Templates
Event Log
Feed Posts
Flag Comment
Gifs
Hash Tags
Moderation
Moderators
Notification Count
Notifications
Page Reacts
Pages
Pending Webhook Events
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
FastComments JavaScript/TypeScript SDK
This is the official JavaScript/TypeScript SDK for FastComments.
Manage comments, users, SSO, and moderation from Node.js or the browser.
Repository
API Documentation 
Full API reference: docs/api/README.md
Browser vs Server Compatibility 
This SDK uses dual entry points to ensure optimal compatibility and prevent runtime errors:
fastcomments-sdk/browser- Browser-safe version with nativefetchfastcomments-sdk/server- Full Node.js version with SSO supportfastcomments-sdk(default) - Types only, safe to import anywhere
Usage 
This SDK provides separate entry points for browser and server environments to ensure optimal compatibility and security:
Browser Usage (Client-Side)
For browser/frontend applications, use the browser-safe export that excludes Node.js dependencies:
// Browser-safe import (no Node.js dependencies)
import { createFastCommentsBrowserSDK } from 'fastcomments-sdk/browser';
// Create browser SDK instance
const sdk = createFastCommentsBrowserSDK({
basePath: 'https://fastcomments.com' // optional, defaults to https://fastcomments.com
});
// Use public APIs (no API key needed - safe for browsers)
const comments = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
Server Usage (Node.js)
For server/backend applications, use the full SDK with SSO and authentication features:
// Server-side import (includes SSO and designed to work with NodeJS)
import { createFastCommentsSDK } from 'fastcomments-sdk/server';
// Create server SDK instance
const sdk = createFastCommentsSDK({
apiKey: 'your-api-key', // Keep this secret on the server!
basePath: 'https://fastcomments.com' // optional, defaults to https://fastcomments.com
});
// Use secured APIs with your API key
const comments = await sdk.defaultApi.getComments({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
Types Only Import
If you only need TypeScript types (no runtime code), use the default import:
// Types only (no runtime dependencies - safe everywhere)
import type {
PublicComment,
CreateCommentParams,
GetCommentsPublic200Response
} from 'fastcomments-sdk';
Using Individual API Classes
Browser Environment
import { PublicApi, Configuration } from 'fastcomments-sdk/browser';
const config = new Configuration({
basePath: 'https://fastcomments.com'
});
const publicApi = new PublicApi(config);
Server Environment
import { DefaultApi, PublicApi, Configuration } from 'fastcomments-sdk/server';
const config = new Configuration({
apiKey: 'your-api-key',
basePath: 'https://fastcomments.com'
});
const defaultApi = new DefaultApi(config);
const publicApi = new PublicApi(config);
Public vs Secured APIs 
The SDK provides these API classes:
DefaultApi- Secured endpoints that require your API key for authentication. Use these for server-side operations.PublicApi- Public endpoints that can be accessed without an API key. These can be called directly from browsers/mobile devices/etc.ModerationApi- Moderator dashboard endpoints (comment moderation, bans, badges, trust factor, search). Authenticated by the moderator's session; pass thessoquery param for SSO-authenticated moderators.HiddenApi- Internal/admin endpoints for advanced use cases.
Example: Using Public API (browser-safe)
import { PublicApi } from 'fastcomments-sdk/browser';
const publicApi = new PublicApi();
// Get comments for a page (no API key required)
const response = await publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
Example: Using Default API (server-side only)
import { DefaultApi, Configuration } from 'fastcomments-sdk/server';
const config = new Configuration({
apiKey: 'your-api-key' // Keep this secret!
});
const defaultApi = new DefaultApi(config);
// Get comments with full admin access
const response = await defaultApi.getComments({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
Example: Using Moderation API
import { createFastCommentsSDK } from 'fastcomments-sdk/server';
const sdk = createFastCommentsSDK({ /* basePath, etc. */ });
// Moderator-authenticated calls (session cookie, or pass `sso` for an SSO moderator).
const comments = await sdk.moderationApi.getApiComments({
tenantId: 'your-tenant-id'
});
await sdk.moderationApi.postSetCommentSpamStatus({
commentId: 'comment-id',
spam: true
});
SSO (Single Sign-On) Integration 
FastComments supports SSO to integrate with your existing user authentication system. SSO functionality is only available in the server export since it requires Node.js crypto features.
Simple SSO (Server-Side Only)
Simple SSO should be generated server-side and sent to the client:
// Server-side code (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
// Create simple SSO using the built-in helper
const userData = {
username: 'john_doe',
email: 'john@example.com',
displayName: 'John Doe',
avatar: 'https://example.com/avatar.jpg'
};
const sso = FastCommentsSSO.createSimple(userData, {
loginURL: '/login',
logoutURL: '/logout'
});
const ssoToken = sso.createToken();
// Send ssoToken to your client-side code
// Client-side code can then use this token with the browser SDK
Secure SSO (Server-Side, Recommended)
Secure SSO should be implemented server-side and provides better security:
// Server-side code (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
// Create secure SSO using the built-in helper
const userData = {
id: 'user-123',
email: 'john@example.com',
username: 'john_doe',
displayName: 'John Doe',
avatar: 'https://example.com/avatar.jpg',
isAdmin: false,
isModerator: false
};
const sso = FastCommentsSSO.createSecure('your-api-key', userData, {
loginURL: '/login',
logoutURL: '/logout'
});
const ssoConfig = sso.prepareToSend();
// Use with API calls on the server
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
sso: JSON.stringify(ssoConfig)
});
// Or send ssoConfig to client for browser usage
Using SSO from Browser (with Server-Generated Token)
// Client-side code (browser)
import { PublicApi } from 'fastcomments-sdk/browser';
// Get SSO token from your server endpoint
const ssoToken = await fetch('/api/sso-token').then(r => r.json());
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
sso: ssoToken // Use the server-generated SSO token
});
SSO with Comment Creation
// Server-side: Create SSO and comment
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
const sso = FastCommentsSSO.createSecure('your-api-key', userData);
const ssoConfig = sso.prepareToSend();
const response = await publicApi.createCommentPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
broadcastId: 'unique-broadcast-id',
commentData: {
comment: 'This is my comment',
date: Date.now(),
commenterName: 'John Doe',
url: 'https://example.com/page',
urlId: 'page-url-id'
},
sso: JSON.stringify(ssoConfig)
});
Common Use Cases 
Getting Comments for a Page
const comments = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'article-123'
});
Creating a Comment
const newComment = await sdk.publicApi.createCommentPublic({
createCommentParams: {
tenantId: 'your-tenant-id',
urlId: 'article-123',
comment: 'Great article!',
commenterName: 'John Doe',
commenterEmail: 'john@example.com'
}
});
Voting on a Comment
const voteResponse = await sdk.publicApi.voteComment({
voteBodyParams: {
commentId: 'comment-id',
direction: 1 // 1 for upvote, -1 for downvote
}
});
User Management (Requires API Key)
// Search for users (requires DefaultApi)
const users = await sdk.defaultApi.searchUsers({
tenantId: 'your-tenant-id',
urlId: 'page-id',
usernameStartsWith: 'john'
});
Live Events (Real-time Updates) 
Subscribe to live events to get real-time updates for comments, votes, and other activities.
Page-Level Events
Listen for live events on a specific page (comments, votes, etc.):
import { subscribeToChanges, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';
const config = {
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
};
// Subscribe to live events for a page
const subscription = subscribeToChanges(
config,
'your-tenant-id', // tenantIdWS
'page-url-id', // urlIdWS
'user-session-id', // userIdWS (get this from getComments response)
(event: LiveEvent) => {
console.log('Live event received:', event);
switch (event.type) {
case LiveEventType.new_comment:
console.log('New comment:', event.comment);
// Update your UI with the new comment
break;
case LiveEventType.new_vote:
console.log('New vote:', event.vote);
// Update vote counts in your UI
break;
case LiveEventType.updated_comment:
console.log('Comment updated:', event.comment);
break;
default:
console.log('Other event type:', event.type);
}
return true; // Return true if event was handled
},
(isConnected: boolean) => {
console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
}
);
// Close the subscription when done
subscription.close();
Subscribe to User Events
Listen for user-specific events (notifications, mentions, etc.):
import { subscribeToUserFeed, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';
const userConfig = {
userIdWS: 'user-session-id', // Get this from getComments response
};
// Subscribe to user's personal feed
const userSubscription = subscribeToUserFeed(
userConfig,
(event: LiveEvent) => {
console.log('User event received:', event);
switch (event.type) {
case LiveEventType.notification:
console.log('New notification:', event.notification);
// Show notification in your UI
break;
case LiveEventType.notification_update:
console.log('Notification updated:', event.notification);
break;
default:
console.log('Other user event:', event.type);
}
return true;
},
(isConnected: boolean) => {
console.log('User feed connection:', isConnected ? 'Connected' : 'Disconnected');
}
);
// Close when done
userSubscription.close();
Getting userIdWS
The userIdWS parameter is required for live events and can be obtained from API responses:
const response = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-id'
});
// Extract userIdWS from the response
const userIdWS = response.data?.userSessionInfo?.userIdWS;
if (userIdWS) {
// Now you can subscribe to live events
const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}
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.
import { v4 as uuidv4 } from 'uuid';
const response = await sdk.publicApi.createCommentPublic({
createCommentParams: {
tenantId: 'your-tenant-id',
urlId: 'page-id',
comment: 'My comment',
broadcastId: uuidv4() // Unique ID for this operation
}
});
Error Handling 
try {
const comments = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-id'
});
} catch (error) {
if (error.response?.status === 404) {
console.log('Page not found');
} else {
console.error('API Error:', error.message);
}
}
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 | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| aggregationRequest | AggregationRequest | Yes | |
| parentTenantId | string | No | |
| includeStats | boolean | No |
Response
Returns: AggregateResponse
Example

getAuditLogs 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| limit | number | No | |
| skip | number | No | |
| order | SORTDIR | No | |
| after | number | No | |
| before | number | No |
Response
Returns: GetAuditLogsResponse1
Example

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

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

checkedCommentsForBlocked 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentIds | string | Yes | |
| sso | string | No |
Response
Returns: CheckedCommentsForBlockedResponse
Example

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

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

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

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

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

flagComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| userId | string | No | |
| anonUserId | string | No |
Response
Returns: FlagCommentResponse1
Example

getComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetCommentResponse
Example

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

getCommentsPublic 
req tenantId urlId
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| page | number | No | |
| direction | SortDirections | No | |
| sso | string | No | |
| skip | number | No | |
| skipChildren | number | No | |
| limit | number | No | |
| limitChildren | number | No | |
| countChildren | boolean | No | |
| fetchPageForCommentId | string | No | |
| includeConfig | boolean | No | |
| countAll | boolean | No | |
| includei10n | boolean | No | |
| locale | string | No | |
| modules | string | No | |
| isCrawler | boolean | No | |
| includeNotificationCount | boolean | No | |
| asTree | boolean | No | |
| maxTreeDepth | number | No | |
| useFullTranslationIds | boolean | No | |
| parentId | string | No | |
| searchText | string | No | |
| hashTags | Array | No | |
| userId | string | No | |
| customConfigStr | string | No | |
| afterCommentId | string | No | |
| beforeCommentId | string | No |
Response
Returns: GetCommentsPublicResponse
Example

getCommentText 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| editKey | string | No | |
| sso | string | No |
Response
Returns: GetCommentTextResponse1
Example

getCommentVoteUserNames 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| dir | number | Yes | |
| sso | string | No |
Response
Returns: GetCommentVoteUserNamesResponse
Example

lockComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | Yes | |
| sso | string | No |
Response
Returns: LockCommentResponse
Example

pinComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | Yes | |
| sso | string | No |
Response
Returns: PinCommentResponse
Example

saveComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | CreateCommentParams | Yes | |
| isLive | boolean | No | |
| doSpamCheck | boolean | No | |
| sendEmails | boolean | No | |
| populateNotifications | boolean | No |
Response
Returns: SaveCommentResponse
Example

saveCommentsBulk 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | Array | Yes | |
| isLive | boolean | No | |
| doSpamCheck | boolean | No | |
| sendEmails | boolean | No | |
| populateNotifications | boolean | No |
Response
Returns: Array<SaveCommentsBulkResponse
Example

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

unBlockUserFromComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| unBlockFromCommentParams | UnBlockFromCommentParams | Yes | |
| userId | string | No | |
| anonUserId | string | No |
Response
Returns: UnBlockUserFromCommentResponse
Example

unFlagComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| userId | string | No | |
| anonUserId | string | No |
Response
Returns: UnFlagCommentResponse
Example

unLockComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | Yes | |
| sso | string | No |
Response
Returns: UnLockCommentResponse
Example

unPinComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | Yes | |
| sso | string | No |
Response
Returns: UnPinCommentResponse
Example

updateComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updatableCommentParams | UpdatableCommentParams | Yes | |
| contextUserId | string | No | |
| doSpamCheck | boolean | No | |
| isLive | boolean | No |
Response
Returns: UpdateCommentResponse
Example

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

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

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

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

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

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

patchDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | Yes | |
| patchDomainConfigParams | PatchDomainConfigParams | Yes |
Response
Returns: PatchDomainConfigResponse
Example

putDomainConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | Yes | |
| updateDomainConfigParams | UpdateDomainConfigParams | Yes |
Response
Returns: PutDomainConfigResponse
Example

createEmailTemplate 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createEmailTemplateBody | CreateEmailTemplateBody | Yes |
Response
Returns: CreateEmailTemplateResponse1
Example

deleteEmailTemplate 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: DeleteEmailTemplateResponse
Example

deleteEmailTemplateRenderError 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| errorId | string | Yes |
Response
Returns: DeleteEmailTemplateRenderErrorResponse
Example

getEmailTemplate 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetEmailTemplateResponse1
Example

getEmailTemplateDefinitions 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes |
Response
Returns: GetEmailTemplateDefinitionsResponse1
Example

getEmailTemplateRenderErrors 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| skip | number | No |
Response
Returns: GetEmailTemplateRenderErrorsResponse1
Example

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

renderEmailTemplate 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| renderEmailTemplateBody | RenderEmailTemplateBody | Yes | |
| locale | string | No |
Response
Returns: RenderEmailTemplateResponse1
Example

updateEmailTemplate 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateEmailTemplateBody | UpdateEmailTemplateBody | Yes |
Response
Returns: UpdateEmailTemplateResponse
Example

getEventLog 
req tenantId urlId userIdWS
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| userIdWS | string | Yes | |
| startTime | number | Yes | |
| endTime | number | No |
Response
Returns: GetEventLogResponse1
Example

getGlobalEventLog 
req tenantId urlId userIdWS
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| userIdWS | string | Yes | |
| startTime | number | Yes | |
| endTime | number | No |
Response
Returns: GetGlobalEventLogResponse
Example

createFeedPost 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createFeedPostParams | CreateFeedPostParams | Yes | |
| broadcastId | string | No | |
| isLive | boolean | No | |
| doSpamCheck | boolean | No | |
| skipDupCheck | boolean | No |
Response
Returns: CreateFeedPostResponse1
Example

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

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

getFeedPosts 
req tenantId afterId
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| afterId | string | No | |
| limit | number | No | |
| tags | Array | No |
Response
Returns: GetFeedPostsResponse1
Example

getFeedPostsPublic 
req tenantId afterId
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| afterId | string | No | |
| limit | number | No | |
| tags | Array | No | |
| sso | string | No | |
| isCrawler | boolean | No | |
| includeUserInfo | boolean | No |
Response
Returns: GetFeedPostsPublicResponse
Example

getFeedPostsStats 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | Array | Yes | |
| sso | string | No |
Response
Returns: GetFeedPostsStatsResponse
Example

getUserReactsPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | Array | No | |
| sso | string | No |
Response
Returns: GetUserReactsPublicResponse
Example

reactFeedPostPublic 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | Yes | |
| reactBodyParams | ReactBodyParams | Yes | |
| isUndo | boolean | No | |
| broadcastId | string | No | |
| sso | string | No |
Response
Returns: ReactFeedPostPublicResponse
Example

updateFeedPost 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| feedPost | FeedPost | Yes |
Response
Returns: UpdateFeedPostResponse
Example

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

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

getGifLarge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| largeInternalURLSanitized | string | Yes |
Response
Returns: GetGifLargeResponse
Example

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

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

addHashTag 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | No | |
| createHashTagBody | CreateHashTagBody | No |
Response
Returns: AddHashTagResponse
Example

addHashTagsBulk 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | No | |
| bulkCreateHashTagsBody | BulkCreateHashTagsBody | No |
Response
Returns: AddHashTagsBulkResponse
Example

deleteHashTag 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tag | string | Yes | |
| tenantId | string | No | |
| deleteHashTagRequestBody | DeleteHashTagRequestBody | No |
Response
Returns: DeleteHashTagResponse
Example

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

patchHashTag 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tag | string | Yes | |
| tenantId | string | No | |
| updateHashTagBody | UpdateHashTagBody | No |
Response
Returns: PatchHashTagResponse
Example

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

getApiComments 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | No | |
| count | number | No | |
| textSearch | string | No | |
| byIPFromComment | string | No | |
| filters | string | No | |
| searchFilters | string | No | |
| sorts | string | No | |
| demo | boolean | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetApiCommentsResponse
Example

getApiExportStatus 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| batchJobId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetApiExportStatusResponse
Example

getApiIds 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| textSearch | string | No | |
| byIPFromComment | string | No | |
| filters | string | No | |
| searchFilters | string | No | |
| afterId | string | No | |
| demo | boolean | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetApiIdsResponse
Example

getBanUsersFromComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetBanUsersFromCommentResponse
Example

getCommentBanStatus 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetCommentBanStatusResponse1
Example

getCommentChildren 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetCommentChildrenResponse
Example

getCount 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| textSearch | string | No | |
| byIPFromComment | string | No | |
| filter | string | No | |
| searchFilters | string | No | |
| demo | boolean | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetCountResponse
Example

getCounts 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetCountsResponse
Example

getLogs 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetLogsResponse
Example

getManualBadges 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetManualBadgesResponse
Example

getManualBadgesForUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| badgesUserId | string | No | |
| commentId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetManualBadgesForUserResponse
Example

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

getModerationCommentText 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetModerationCommentTextResponse
Example

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

getSearchCommentsSummary 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| value | string | No | |
| filters | string | No | |
| searchFilters | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetSearchCommentsSummaryResponse
Example

getSearchPages 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| value | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetSearchPagesResponse
Example

getSearchSites 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| value | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetSearchSitesResponse
Example

getSearchSuggest 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| textSearch | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetSearchSuggestResponse
Example

getSearchUsers 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| value | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetSearchUsersResponse
Example

getTrustFactor 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| userId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetTrustFactorResponse
Example

getUserBanPreference 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetUserBanPreferenceResponse
Example

getUserInternalProfile 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: GetUserInternalProfileResponse1
Example

postAdjustCommentVotes 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| adjustCommentVotesParams | AdjustCommentVotesParams | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostAdjustCommentVotesResponse
Example

postApiExport 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| textSearch | string | No | |
| byIPFromComment | string | No | |
| filters | string | No | |
| searchFilters | string | No | |
| sorts | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostApiExportResponse
Example

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

postBanUserUndo 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| banUserUndoParams | BanUserUndoParams | Yes | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostBanUserUndoResponse
Example

postBulkPreBanSummary 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| bulkPreBanParams | BulkPreBanParams | Yes | |
| includeByUserIdAndEmail | boolean | No | |
| includeByIP | boolean | No | |
| includeByEmailDomain | boolean | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostBulkPreBanSummaryResponse
Example

postCommentsByIds 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentsByIdsParams | CommentsByIdsParams | Yes | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostCommentsByIdsResponse
Example

postFlagComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostFlagCommentResponse
Example

postRemoveComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostRemoveCommentResponse
Example

postRestoreDeletedComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostRestoreDeletedCommentResponse
Example

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

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

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

postSetCommentText 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| setCommentTextParams | SetCommentTextParams | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostSetCommentTextResponse
Example

postUnFlagComment 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: PostUnFlagCommentResponse
Example

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

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

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

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

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

setTrustFactor 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| userId | string | No | |
| trustFactor | string | No | |
| tenantId | string | No | |
| sso | string | No |
Response
Returns: SetTrustFactorResponse
Example

createModerator 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createModeratorBody | CreateModeratorBody | Yes |
Response
Returns: CreateModeratorResponse1
Example

deleteModerator 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| sendEmail | string | No |
Response
Returns: DeleteModeratorResponse
Example

getModerator 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetModeratorResponse1
Example

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

sendInvite 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| fromName | string | Yes |
Response
Returns: SendInviteResponse
Example

updateModerator 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateModeratorBody | UpdateModeratorBody | Yes |
Response
Returns: UpdateModeratorResponse
Example

deleteNotificationCount 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: DeleteNotificationCountResponse
Example

getCachedNotificationCount 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetCachedNotificationCountResponse1
Example

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

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

updateNotification 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateNotificationBody | UpdateNotificationBody | Yes | |
| userId | string | No |
Response
Returns: UpdateNotificationResponse
Example

createV1PageReact 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| title | string | No |
Response
Returns: CreateV1PageReactResponse
Example

createV2PageReact 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| id | string | Yes | |
| title | string | No |
Response
Returns: CreateV2PageReactResponse
Example

deleteV1PageReact 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes |
Response
Returns: DeleteV1PageReactResponse
Example

deleteV2PageReact 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| id | string | Yes |
Response
Returns: DeleteV2PageReactResponse
Example

getV1PageLikes 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes |
Response
Returns: GetV1PageLikesResponse
Example

getV2PageReacts 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes |
Response
Returns: GetV2PageReactsResponse
Example

getV2PageReactUsers 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| id | string | Yes |
Response
Returns: GetV2PageReactUsersResponse1
Example

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

deletePage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | 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 | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| afterName | string | No | |
| afterUserId | string | No |
Response
Returns: GetOfflineUsersResponse
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 | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| afterName | string | No | |
| afterUserId | string | No |
Response
Returns: GetOnlineUsersResponse
Example

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

getPages 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 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 | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| cursor | string | No | |
| limit | number | No | |
| q | string | No | |
| sortBy | PagesSortBy | No | |
| hasComments | boolean | No |
Response
Returns: GetPagesPublicResponse
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 | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| ids | string | Yes |
Response
Returns: GetUsersInfoResponse
Example

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

deletePendingWebhookEvent 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: DeletePendingWebhookEventResponse
Example

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

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

createQuestionConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createQuestionConfigBody | CreateQuestionConfigBody | Yes |
Response
Returns: CreateQuestionConfigResponse1
Example

deleteQuestionConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: DeleteQuestionConfigResponse
Example

getQuestionConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetQuestionConfigResponse1
Example

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

updateQuestionConfig 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateQuestionConfigBody | UpdateQuestionConfigBody | Yes |
Response
Returns: UpdateQuestionConfigResponse
Example

createQuestionResult 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createQuestionResultBody | CreateQuestionResultBody | Yes |
Response
Returns: CreateQuestionResultResponse1
Example

deleteQuestionResult 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: DeleteQuestionResultResponse
Example

getQuestionResult 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetQuestionResultResponse1
Example

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

updateQuestionResult 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateQuestionResultBody | UpdateQuestionResultBody | Yes |
Response
Returns: UpdateQuestionResultResponse
Example

aggregateQuestionResults 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| questionId | string | No | |
| questionIds | Array | No | |
| urlId | string | No | |
| timeBucket | AggregateTimeBucket | No | |
| startDate | Date | No | |
| forceRecalculate | boolean | No |
Response
Returns: AggregateQuestionResultsResponse1
Example

bulkAggregateQuestionResults 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| bulkAggregateQuestionResultsRequest | BulkAggregateQuestionResultsRequest | Yes | |
| forceRecalculate | boolean | No |
Response
Returns: BulkAggregateQuestionResultsResponse1
Example

combineCommentsWithQuestionResults 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| questionId | string | No | |
| questionIds | Array | No | |
| urlId | string | No | |
| startDate | Date | No | |
| forceRecalculate | boolean | No | |
| minValue | number | No | |
| maxValue | number | No | |
| limit | number | No |
Response
Returns: CombineCommentsWithQuestionResultsResponse
Example

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

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

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

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

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

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

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

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

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

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

updateSubscription 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateAPIUserSubscriptionData | UpdateAPIUserSubscriptionData | Yes | |
| userId | string | No |
Response
Returns: UpdateSubscriptionAPIResponse
Example

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

createTenantPackage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createTenantPackageBody | CreateTenantPackageBody | Yes |
Response
Returns: CreateTenantPackageResponse1
Example

deleteTenantPackage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: DeleteTenantPackageResponse
Example

getTenantPackage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetTenantPackageResponse1
Example

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

replaceTenantPackage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| replaceTenantPackageBody | ReplaceTenantPackageBody | Yes |
Response
Returns: ReplaceTenantPackageResponse
Example

updateTenantPackage 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateTenantPackageBody | UpdateTenantPackageBody | Yes |
Response
Returns: UpdateTenantPackageResponse
Example

createTenantUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createTenantUserBody | CreateTenantUserBody | Yes |
Response
Returns: CreateTenantUserResponse1
Example

deleteTenantUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| deleteComments | string | No | |
| commentDeleteMode | string | No |
Response
Returns: DeleteTenantUserResponse
Example

getTenantUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetTenantUserResponse1
Example

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

replaceTenantUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| replaceTenantUserBody | ReplaceTenantUserBody | Yes | |
| updateComments | string | No |
Response
Returns: ReplaceTenantUserResponse
Example

sendLoginLink 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| redirectURL | string | No |
Response
Returns: SendLoginLinkResponse
Example

updateTenantUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateTenantUserBody | UpdateTenantUserBody | Yes | |
| updateComments | string | No |
Response
Returns: UpdateTenantUserResponse
Example

createTenant 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createTenantBody | CreateTenantBody | Yes |
Response
Returns: CreateTenantResponse1
Example

deleteTenant 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| sure | string | No |
Response
Returns: DeleteTenantResponse
Example

getTenant 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetTenantResponse1
Example

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

updateTenant 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateTenantBody | UpdateTenantBody | Yes |
Response
Returns: UpdateTenantResponse
Example

changeTicketState 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | Yes | |
| id | string | Yes | |
| changeTicketStateBody | ChangeTicketStateBody | Yes |
Response
Returns: ChangeTicketStateResponse1
Example

createTicket 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | Yes | |
| createTicketBody | CreateTicketBody | Yes |
Response
Returns: CreateTicketResponse1
Example

getTicket 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| userId | string | No |
Response
Returns: GetTicketResponse1
Example

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

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

uploadImage 
Upload and resize an image
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| file | Blob | Yes | |
| sizePreset | SizePreset | No | |
| urlId | string | No |
Response
Returns: UploadImageResponse
Example

getUserBadgeProgressById 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetUserBadgeProgressByIdResponse
Example

getUserBadgeProgressByUserId 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | Yes |
Response
Returns: GetUserBadgeProgressByUserIdResponse
Example

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

createUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createUserBadgeParams | CreateUserBadgeParams | Yes |
Response
Returns: CreateUserBadgeResponse
Example

deleteUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: DeleteUserBadgeResponse
Example

getUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetUserBadgeResponse
Example

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

updateUserBadge 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateUserBadgeParams | UpdateUserBadgeParams | Yes |
Response
Returns: UpdateUserBadgeResponse
Example

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

getUserNotifications 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | No | |
| pageSize | number | No | |
| afterId | string | No | |
| includeContext | boolean | No | |
| afterCreatedAt | number | No | |
| unreadOnly | boolean | No | |
| dmOnly | boolean | No | |
| noDm | boolean | No | |
| includeTranslations | boolean | No | |
| includeTenantNotifications | boolean | No | |
| sso | string | No |
Response
Returns: GetUserNotificationsResponse
Example

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

resetUserNotifications 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| afterId | string | No | |
| afterCreatedAt | number | No | |
| unreadOnly | boolean | No | |
| dmOnly | boolean | No | |
| noDm | boolean | No | |
| sso | string | No |
Response
Returns: ResetUserNotificationsResponse1
Example

updateUserNotificationCommentSubscriptionStatus 
Enable or disable notifications for a specific comment.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| notificationId | string | Yes | |
| optedInOrOut | UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum | Yes | |
| commentId | string | Yes | |
| sso | string | 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 | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| url | string | Yes | |
| pageTitle | string | Yes | |
| subscribedOrUnsubscribed | UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum | Yes | |
| sso | string | No |
Response
Returns: UpdateUserNotificationPageSubscriptionStatusResponse
Example

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

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

searchUsers 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| usernameStartsWith | string | No | |
| mentionGroupIds | Array | No | |
| sso | string | No | |
| searchSection | SearchUsersSearchSectionEnum | No |
Response
Returns: SearchUsersResponse1
Example

getUser 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
Response
Returns: GetUserResponse1
Example

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

deleteVote 
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| editKey | string | No |
Response
Returns: DeleteVoteResponse
Example

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

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

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