Discussions Operations
The Discussions namespace provides functionality for managing discussion threads and posts.
Configuration
suspend fun getConfig(): DiscussionConfig?
Retrieves discussion system configuration settings.
Discussion Management
List Discussions
suspend fun getAll(
filters: DiscussionsFilters? = null,
disableCache: Boolean? = null
): CursorResponse<List<Discussion>>?
Retrieves paginated list of discussions with optional filtering:
discussionIds
: Filter by IDs (max 10)label
: Filter by labeldiscussionUrl
: Filter by URLfromDate/toDate
: Date rangefromCount/toCount
: Posts count rangesort
: Sort typelimit
: Results per pageskipDeleted
: Exclude deletedstartAfter
: Pagination cursor
Top Discussions
suspend fun getTopDiscussions(
filters: TopDiscussionsFilters? = null,
disableCache: Boolean? = null
): CursorResponse<List<Discussion>>?
Retrieves top discussions with filters:
contentType
: Content typeentityIds
: Entity IDsfromDate/toDate
: Date rangelimit
: Results per pagestartAfter
: Pagination cursor
Get Discussion
suspend fun getById(discussionId: String): SimpleResponse<Discussion>?
Retrieves single discussion by ID.
Posts Management
List Posts
suspend fun getPosts(
discussionId: String,
filters: PostsFilters? = null
): DiscussionResponse<List<DiscussionComment>>?
Retrieves posts for discussion with filters:
startAfter
: Pagination cursorlimit
: Results per page (default 10)sort
: Sort order (oldest/latest/interacted/popular)skipDeleted/skipModerated
: Exclude posts
User Posts
// Get current user's posts
suspend fun getOwnPosts(
filters: PostsFilters? = null
): CursorResponse<List<DiscussionComment>>?
// Get specific user's posts
suspend fun getUserPosts(
userId: String,
filters: PostsFilters? = null,
disableCache: Boolean? = null
): CursorResponse<List<DiscussionComment>>?
Post Operations
// Get single post
suspend fun getPostById(postId: String): SimpleResponse<DiscussionComment>?
// Get post replies
suspend fun getPostReplies(
postId: String,
filters: PostsFilters? = null,
disableCache: Boolean? = null
): DiscussionResponse<List<DiscussionComment>>?
// Create post
suspend fun createPost(
discussionId: String,
createPost: CreatePost
): SimpleResponse<DiscussionComment>?
// Update post
suspend fun updatePost(
postId: String,
content: String
): SimpleResponse<DiscussionComment>?
// Delete post
suspend fun deletePost(postId: String): Unit?
Engagement
Reactions
suspend fun react(
postId: String,
reactionType: ReactionType
): SimpleResponse<DiscussionComment>?
Adds reaction to post.
Moderation
suspend fun reportPost(
postId: String,
reason: ReportReasonType,
reasonDetails: String? = null
): SimpleResponse<DiscussionComment>?
Reports post for moderation.
Statistics
Post Counts
// Get counts for up to 50 discussions
suspend fun getPostsCount(
discussionIds: List<String>,
disableCache: Boolean? = null
): SimpleResponse<List<PostsCountPerDiscussion>>?
// Get counts for up to 250 discussions
suspend fun getPostsCountExtended(
discussionIds: List<String>
): CursorResponse<List<PostsCountPerDiscussion>>?
Note: All operations are suspending functions and must be called from a coroutine scope.
Updated 3 days ago