
Getting Started
Documentation
Misc Apis
Subscriptions
Sso Users
Pages
User Badges
User Badge Progress
Question Results Aggregation
Feed Posts
Domain Configs
Comments
Audit Logs
Aggregate
FastComments Java SDK
This is the official Java SDK for FastComments.
Official Java SDK for the FastComments API
Repository
Installation 
Installation
Maven
Add the Repsy repository to your project's POM:
<repositories>
<repository>
<id>repsy</id>
<name>FastComments Maven Repository on Repsy</name>
<url>https://repo.repsy.io/mvn/winrid/fastcomments</url>
</repository>
</repositories>
Then add the dependencies you need:
<dependencies>
<!-- API Client -->
<dependency>
<groupId>com.fastcomments</groupId>
<artifactId>client</artifactId>
<version>0.0.2</version>
</dependency>
<!-- Core Library (includes SSO) -->
<dependency>
<groupId>com.fastcomments</groupId>
<artifactId>core</artifactId>
<version>0.0.2</version>
</dependency>
<!-- PubSub Library (for live events) -->
<dependency>
<groupId>com.fastcomments</groupId>
<artifactId>pubsub</artifactId>
<version>0.0.2</version>
</dependency>
</dependencies>
Gradle
Add the Repsy repository to your build.gradle file:
repositories {
mavenCentral()
maven {
url "https://repo.repsy.io/mvn/winrid/fastcomments"
}
}
dependencies {
// API Client
implementation "com.fastcomments:client:0.0.2"
// Core Library (includes SSO)
implementation "com.fastcomments:core:0.0.2"
// PubSub Library (for live events)
implementation "com.fastcomments:pubsub:0.0.2"
}
Library Contents
This library contains three modules. The generated API client, the core Java library which contains hand-written utilities
to make working with the API easier, and the pubsub module which is a library for subscribing to change feeds.
Public vs Secured APIs
For the API client, there are two classes, DefaultApi and PublicApi. The DefaultApi contains methods that require your API key, and PublicApi contains api calls
that can be made directly from a browser/mobile device/etc without authentication.
Quick Start 
Quick Start
Using Authenticated APIs (DefaultApi)
Important: You must set your API key on the ApiClient before making authenticated requests. If you don't, requests will fail with a 401 error.
import com.fastcomments.invoker.ApiClient;
import com.fastcomments.invoker.ApiException;
import com.fastcomments.api.DefaultApi;
import com.fastcomments.model.*;
public class Example {
public static void main(String[] args) {
// Create and configure the API client
ApiClient apiClient = new ApiClient();
// REQUIRED: Set your API key (get this from your FastComments dashboard)
apiClient.setApiKey("YOUR_API_KEY_HERE");
// Create the API instance with the configured client
DefaultApi api = new DefaultApi(apiClient);
// Now you can make authenticated API calls
try {
// Example: Add an SSO user
CreateAPISSOUserData userData = new CreateAPISSOUserData();
userData.setId("user-123");
userData.setEmail("user@example.com");
userData.setDisplayName("John Doe");
AddSSOUserAPIResponse response = api.addSSOUser("YOUR_TENANT_ID", userData)
.execute();
System.out.println("User created: " + response);
} catch (ApiException e) {
System.err.println("Error: " + e.getResponseBody());
// Common errors:
// - 401: API key is missing or invalid
// - 400: Request validation failed
}
}
}
Using Public APIs (PublicApi)
Public endpoints don't require authentication:
import com.fastcomments.api.PublicApi;
import com.fastcomments.invoker.ApiException;
PublicApi publicApi = new PublicApi();
try {
var response = publicApi.getCommentsPublic("YOUR_TENANT_ID", "page-url-id")
.execute();
System.out.println(response);
} catch (ApiException e) {
e.printStackTrace();
}
Common Issues
- 401 "missing-api-key" error: Make sure you call
apiClient.setApiKey("YOUR_KEY")before creating the DefaultApi instance. - Wrong API class: Use
DefaultApifor server-side authenticated requests,PublicApifor client-side/public requests. - Null API key: The SDK will silently skip authentication if the API key is null, leading to 401 errors.
Notes 
Notes
Broadcast Ids
You'll see you're supposed to pass a broadcastId in some API calls. When you receive events, you'll get this ID back, so you know to ignore the event if you plan to optimistically apply changes on the client
(which you'll probably want to do since it offers the best experience). Pass a UUID here. The ID should be unique enough to not occur twice in a browser session.
SearchUsers 
GET /user-search/{tenantId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| usernameStartsWith | string | query | Yes | |
| mentionGroupIds | array | query | No | |
| sso | string | query | No |
Responses
200
Ok
Example

GetUserPresenceStatuses 
GET /user-presence-status
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlIdWS | string | query | Yes | |
| userIds | string | query | Yes |
Responses
200
Ok
422
Validation Failed
Example

GetUserNotifications 
GET /user-notifications
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| 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 | |
| sso | string | query | No |
Responses
200
Ok
Example

ResetUserNotifications 
POST /user-notifications/reset
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 |
Responses
200
Ok
Example

GetUserNotificationCount 
GET /user-notifications/get-count
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

ResetUserNotificationCount 
POST /user-notifications/reset-count
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

UpdateUserNotificationStatus 
POST /user-notifications/{notificationId}/mark/{newStatus}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| notificationId | string | path | Yes | |
| newStatus | string | path | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

UpdateUserNotificationCommentSubscriptionStatus 
POST /user-notifications/{notificationId}/mark-opted/{optedInOrOut}
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 |
Responses
200
Ok
Example

UpdateUserNotificationPageSubscriptionStatus 
POST /user-notifications/set-subscription-state/{subscribedOrUnsubscribed}
Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also
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 |
Responses
200
Ok
Example

UploadImage 
POST /upload-image/{tenantId}
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 |
Request Body
Content-Type: multipart/form-data
Responses
200
Ok
Example

FlagCommentPublic 
POST /flag-comment/{commentId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| isFlagged | boolean | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

GetFeedPostsPublic 
GET /feed-posts/{tenantId}
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 |
Responses
200
Ok
Example

CreateFeedPostPublic 
POST /feed-posts/{tenantId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

ReactFeedPostPublic 
POST /feed-posts/{tenantId}/react/{postId}
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetUserReactsPublic 
GET /feed-posts/{tenantId}/user-reacts
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postIds | array | query | No | |
| sso | string | query | No |
Responses
200
Ok
Example

UpdateFeedPostPublic 
PUT /feed-posts/{tenantId}/{postId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

DeleteFeedPostPublic 
DELETE /feed-posts/{tenantId}/{postId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Responses
200
Ok
Example

GetFeedPostsStats 
GET /feed-posts/{tenantId}/stats
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postIds | array | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

GetEventLog 
GET /event-log/{tenantId}
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 | Yes |
Responses
200
Ok
Example

GetGlobalEventLog 
GET /event-log/global/{tenantId}
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 | Yes |
Responses
200
Ok
Example

GetCommentText 
GET /comments/{tenantId}/{commentId}/text
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Responses
200
Ok
Example

SetCommentText 
POST /comments/{tenantId}/{commentId}/update-text
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetCommentsPublic 
GET /comments/{tenantId}
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 |
Responses
200
Ok
Example

CreateCommentPublic 
POST /comments/{tenantId}
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

DeleteCommentPublic 
DELETE /comments/{tenantId}/{commentId}
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 |
Responses
200
Ok
Example

CheckedCommentsForBlocked 
GET /check-blocked-comments
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 |
Responses
200
Ok
Example

VoteComment 
POST /comments/{tenantId}/{commentId}/vote
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

DeleteCommentVote 
DELETE /comments/{tenantId}/{commentId}/vote/{voteId}
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 |
Responses
200
Ok
Example

GetCommentVoteUserNames 
GET /comments/{tenantId}/{commentId}/votes
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| dir | integer | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

PinComment 
POST /comments/{tenantId}/{commentId}/pin
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

UnPinComment 
POST /comments/{tenantId}/{commentId}/unpin
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

LockComment 
POST /comments/{tenantId}/{commentId}/lock
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

UnLockComment 
POST /comments/{tenantId}/{commentId}/unlock
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Responses
200
Ok
Example

BlockFromCommentPublic 
POST /block-from-comment/{commentId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

UnBlockCommentPublic 
DELETE /block-from-comment/{commentId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetSubscriptions 
GET /api/v1/subscriptions
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No |
Responses
200
Ok
Example

CreateSubscription 
POST /api/v1/subscriptions
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

DeleteSubscription 
DELETE /api/v1/subscriptions/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No |
Responses
200
Ok
Example

GetSSOUsers 
GET /api/v1/sso-users
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | integer | query | No |
Responses
200
Ok
Example

AddSSOUser 
POST /api/v1/sso-users
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetSSOUserById 
GET /api/v1/sso-users/by-id/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Responses
200
Ok
Example

GetSSOUserByEmail 
GET /api/v1/sso-users/by-email/{email}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| string | path | Yes |
Responses
200
Ok
Example

DeleteSSOUser 
DELETE /api/v1/sso-users/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| deleteComments | boolean | query | No | |
| commentDeleteMode | string | query | No |
Responses
200
Ok
Example

PatchSSOUser 
PATCH /api/v1/sso-users/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | boolean | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

PutSSOUser 
PUT /api/v1/sso-users/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | boolean | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetPages 
GET /api/v1/pages
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Responses
200
Ok
Example

AddPage 
POST /api/v1/pages
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetPageByURLId 
GET /api/v1/pages/by-url-id
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes |
Responses
200
Ok
Example

PatchPage 
PATCH /api/v1/pages/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

DeletePage 
DELETE /api/v1/pages/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Responses
200
Ok
Example

GetUserBadge 
GET /api/v1/user-badges/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Responses
200
Ok
Example

UpdateUserBadge 
PUT /api/v1/user-badges/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

DeleteUserBadge 
DELETE /api/v1/user-badges/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Responses
200
Ok
Example

GetUserBadges 
GET /api/v1/user-badges
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 |
Responses
200
Ok
Example

CreateUserBadge 
POST /api/v1/user-badges
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetUserBadgeProgressById 
GET /api/v1/user-badge-progress/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Responses
200
Ok
Example

GetUserBadgeProgressList 
GET /api/v1/user-badge-progress
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| limit | number | query | No | |
| skip | number | query | No |
Responses
200
Ok
Example

GetUserBadgeProgressByUserId 
GET /api/v1/user-badge-progress/user/{userId}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | path | Yes |
Responses
200
Ok
Example

AggregateQuestionResults 
GET /api/v1/question-results-aggregation
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 |
Responses
200
Ok
Example

BulkAggregateQuestionResults 
POST /api/v1/question-results-aggregation/bulk
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| forceRecalculate | boolean | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

CombineCommentsWithQuestionResults 
GET /api/v1/question-results-aggregation/combine/comments
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 |
Responses
200
Ok
Example

GetFeedPosts 
GET /api/v1/feed-posts
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 |
Responses
200
Ok
Example

CreateFeedPost 
POST /api/v1/feed-posts
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

UpdateFeedPost 
PATCH /api/v1/feed-posts/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetDomainConfigs 
GET /api/v1/domain-configs
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Responses
200
Ok
Example

AddDomainConfig 
POST /api/v1/domain-configs
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetDomainConfig 
GET /api/v1/domain-configs/{domain}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domain | string | path | Yes |
Responses
200
Ok
Example

DeleteDomainConfig 
DELETE /api/v1/domain-configs/{domain}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domain | string | path | Yes |
Responses
200
Ok
Example

PutDomainConfig 
PUT /api/v1/domain-configs/{domainToUpdate}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domainToUpdate | string | path | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

PatchDomainConfig 
PATCH /api/v1/domain-configs/{domainToUpdate}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domainToUpdate | string | path | Yes |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetComment 
GET /api/v1/comments/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Responses
200
Ok
Example

UpdateComment 
PATCH /api/v1/comments/{id}
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

DeleteComment 
DELETE /api/v1/comments/{id}
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| contextUserId | string | query | No | |
| isLive | boolean | query | No |
Responses
200
Ok
Example

GetComments 
GET /api/v1/comments
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 |
Responses
200
Ok
Example

SaveComment 
POST /api/v1/comments
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

SaveCommentsBulk 
POST /api/v1/comments/bulk
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 |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

FlagComment 
POST /api/v1/comments/{id}/flag
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Responses
200
Ok
Example

UnFlagComment 
POST /api/v1/comments/{id}/un-flag
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Responses
200
Ok
Example

BlockUserFromComment 
POST /api/v1/comments/{id}/block
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

UnBlockUserFromComment 
POST /api/v1/comments/{id}/un-block
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

GetAuditLogs 
GET /api/v1/audit-logs
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| limit | number | query | No | |
| skip | number | query | No | |
| order | string | query | No | |
| after | number | query | No | |
| before | number | query | No |
Responses
200
Ok
Example

Aggregate 
POST /api/v1/aggregate
Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| parentTenantId | string | query | No | |
| includeStats | boolean | query | No |
Request Body
Content-Type: application/json
Responses
200
Ok
Example

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