openapi: 3.1.0 info: title: Helpcenter CommunityTopic API version: 1.0.0 tags: - name: CommunityTopic paths: /api/v1/communityTopics/{topicId}/unmoderate: post: tags: - CommunityTopic summary: Unmoderate community topic description: This API helps unmoderate a forum topic, which means user comments are published without reviewing. operationId: unmoderateCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics: get: tags: - CommunityTopic summary: List forum topics description: This API lists a particular number of forum topics, based on the limit defined. operationId: getAllCommunityTopics parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/type' - $ref: '#/components/parameters/tagName' - name: isSticky in: query description: Key that defines whether the topics to list must be sticky posts or not required: false style: form explode: true schema: type: - boolean - 'null' description: Key that defines whether the topics to list must be sticky posts or not - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/listAllTopics' security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public post: tags: - CommunityTopic summary: Add community topic description: 'This API helps add a forum topic in the user community. ' operationId: addCommunityTopic parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/communityAddTopicJson' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/communityMangerTopicJSON' security: - iam-oauth2-schema: - Desk.forums.CREATE - Desk.community.CREATE x-audience: - external-public delete: tags: - CommunityTopic summary: Permanently delete trashed community topics description: This API permanently deletes forum topics from the trash. operationId: deleteTrashedCommunityTopics parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/deleteTopics_moderationTopicIdsJSON' responses: '422': $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse '200': $ref: ./MassActionResponse.json#/components/responses/massActionListResponse security: - iam-oauth2-schema: - Desk.forums.DELETE - Desk.community.DELETE x-audience: - external-public /api/v1/communityTopics/{topicId}/associateTags: post: tags: - CommunityTopic summary: Associate tags to community topic description: This API associates quick access/reference tags to a forum topic. operationId: addTagsToCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/tagsRequest' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/associateTagsResponse' security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/approve: post: tags: - CommunityTopic summary: Approve topics description: This API helps to approve topics and publish them on the forum. operationId: approveTopics parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/moderationTopicIdsJSON' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: ./MassActionResponse.json#/components/responses/massActionListResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}/markSpam: post: tags: - CommunityTopic summary: Report topic as spam description: This API marks a forum topic as spam. operationId: markATopicAsSpam parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/spamReason' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.basic.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}/updateDraft: put: tags: - CommunityTopic summary: Update Drafted Topic description: This API helps update the draft of a forum topic. operationId: updateDraftedCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/communityAddOrUpdateDraftTopicJson' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/communityAddOrUpdateDraftedTopicResponseJSON' '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}: get: tags: - CommunityTopic summary: Get topic description: This API fetches a forum topic from the user community. operationId: getCommunityTopic parameters: - name: include in: query description: 'Additional information related to the topics. Values allowed are: @seo@, @featuredImage@ and @participantsCount@.' required: false style: simple explode: true schema: type: - 'null' - array description: 'Additional information related to the topics. Values allowed are: @seo@, @featuredImage@ and @participantsCount@.' items: type: - string - 'null' enum: - seo - featuredImage - participantsCount maxLength: 100 minLength: 0 uniqueItems: true - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: '#/components/responses/communityMangerTopicJSON' security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public patch: tags: - CommunityTopic summary: Update community topic description: This API helps update a published forum topic. operationId: updateCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/communityUpdateTopicJson' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/communityMangerTopicJSON' security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}/deleteDraft: delete: tags: - CommunityTopic summary: Delete drafted community topic description: This API deletes a topic draft from the user community. operationId: deleteDraftedCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '500': $ref: ./Common.json#/components/responses/internalErrorResponse '204': $ref: ./Common.json#/components/responses/emptyResponse '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.DELETE - Desk.community.DELETE x-audience: - external-public /api/v1/communityTopics/{topicId}/followers: get: tags: - CommunityTopic summary: List all community topic followers description: 'This API lists a particular number of users who follow a forum topic, based on the limit defined. ' operationId: getAllCommunityTopicFollowers parameters: - name: limit in: query description: Number of users to list required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Number of users to list maximum: 50 minimum: 1 pattern: ([0-9]+) - name: from in: query description: Index number, starting from which the users must be listed. required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Index number, starting from which the users must be listed. minimum: 0 pattern: ([0-9]+) - $ref: '#/components/parameters/userType' - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/listAllCommunityTopicFollowers' security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityTopics/{topicId}/dissociateTags: post: tags: - CommunityTopic summary: Dissociate tags from topic description: This API removes quick access/reference tags from a forum topic. operationId: deleteCommunityTopicTags parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/deleteTagsoFATopic_tagsRequest' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/unmoderate: post: tags: - CommunityTopic summary: Unmoderate community topics description: This API unmoderate the moderated forum topics.The comments that are posted during moderation will be displayed to all users without under going any review. operationId: unmoderateCommunityTopics parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/unmoderateTopics_moderationTopicIdsJSON' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: ./MassActionResponse.json#/components/responses/massActionListResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/community/markAllTopicsAsSpam: post: tags: - CommunityTopic summary: Report multiple topics as spam description: This API marks multiple forum topics as spam. operationId: markAllTopicsAsSpam parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/reportBulkTopicsAsSpam' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: ./MassActionResponse.json#/components/responses/massActionListResponse security: - iam-oauth2-schema: - Desk.basic.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}/unlock: post: tags: - CommunityTopic summary: Unlock community topic description: This API helps unlock a forum topic, so that further user actions can be performed. operationId: unlockCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/saveDraft: post: tags: - CommunityTopic summary: Draft community topic description: This API saves a draft of a forum topic. operationId: addCommunityTopicAsDraft parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/addDraft_communityAddOrUpdateDraftTopicJson' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/communityAddOrUpdateDraftedTopicResponseJSON' '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.CREATE - Desk.community.CREATE x-audience: - external-public /api/v1/communityModeration/topics: get: tags: - CommunityTopic summary: List topics pending moderation description: This API lists a particular number of forum topics that are pending moderation, based on the limit defined. operationId: getCommunityModerationTopics parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/categoryId' - $ref: '#/components/parameters/status' - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse '200': $ref: '#/components/responses/listAllModerationTopics' '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityTopics/{topicId}/participants: get: tags: - CommunityTopic summary: List topic participants description: This API lists a particular number of users who participated in a forum topic, based on the limit defined. operationId: getCommunityTopicParticipants parameters: - name: limit in: query description: Number of users to list required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Number of users to list maximum: 50 minimum: 1 pattern: ([0-9]+) - name: from in: query description: Index number, starting from which the users must be listed required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Index number, starting from which the users must be listed minimum: 0 pattern: ([0-9]+) - $ref: '#/components/parameters/userType' - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/listAllCommunityTopicFollowers' security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityTopics/{topicId}/unfollow: post: tags: - CommunityTopic summary: Unfollow community topic description: This API enables users to unfollow a topic. operationId: unfollowCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '500': $ref: ./Common.json#/components/responses/internalErrorResponse '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/moveToTrash: post: tags: - CommunityTopic summary: Trash unmoderated community topics description: 'This API trashes forum topics that are yet to be moderated for publishing. ' operationId: deleteUnmoderatedCommunityTopics parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/trashTopics_moderationTopicIdsJSON' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: ./MassActionResponse.json#/components/responses/massActionListResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/count: get: tags: - CommunityTopic summary: Get community Topics Views Count description: This API fetches the total count of the topics based on the selected view. operationId: getCommunityTopicsViewsCount parameters: - name: viewId in: query description: ID of a view for which you need to get the count required: true style: form explode: true schema: type: - string - 'null' - integer format: int64 description: ID of a view for which you need to get the count pattern: ([0-9]+) - name: label in: query description: 'Status label by which topics must be filtered. The value of this key varies according to the topic type. Values allowed are: @NOSTATUS@, @NEEDMOREINFO@, @WORKINGONIT@, @ANSWERED@, @UNANSWERED@, @MAYBELATER@, @UNDERREVIEW@, @IMPLEMENTED@, @WILLNOTIMPLEMENT@, @NOTAPROBLEM@, @TEMPORARYFIX@, @ANALYZING@, @SOLVED@, @UNSOLVED@, and @MOSTVOTED@.' required: false style: form explode: true schema: type: - string - 'null' description: 'Status label by which topics must be filtered. The value of this key varies according to the topic type. Values allowed are: @NOSTATUS@, @NEEDMOREINFO@, @WORKINGONIT@, @ANSWERED@, @UNANSWERED@, @MAYBELATER@, @UNDERREVIEW@, @IMPLEMENTED@, @WILLNOTIMPLEMENT@, @NOTAPROBLEM@, @TEMPORARYFIX@, @ANALYZING@, @SOLVED@, @UNSOLVED@, and @MOSTVOTED@.' maxLength: 100 minLength: 0 - $ref: '#/components/parameters/type' - $ref: '#/components/parameters/tagName' - $ref: '#/components/parameters/categoryId' - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse '200': $ref: '#/components/responses/topicsViewsCountResponse' '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityTopics/{topicId}/unlike: post: tags: - CommunityTopic summary: Unlike topic description: This API enables users to unlike a topic. operationId: unlikeATopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopicTypes: get: tags: - CommunityTopic summary: Get topic types description: This API fetches the topic types defined in the user community of your help desk portal. operationId: getCommunityTopicTypes parameters: - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/topicTypeResponseJSON' security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public patch: tags: - CommunityTopic summary: Update topic type preferences description: This API helps set the default topic type and enable/disable other topic types in the user community. operationId: updateCommunityTopicTypes parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/topicTypeRequestJSON' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '204': $ref: ./Common.json#/components/responses/emptyResponse '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}/follow: post: tags: - CommunityTopic summary: Follow community topic description: This API enables users to follow a topic. operationId: followCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}/moderate: post: tags: - CommunityTopic summary: Moderate community topic description: This API allows to set the forum topics as moderate. The comments that are posted during moderation will not be displayed to users and await for the review. operationId: moderateCommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopics/{topicId}/move: post: tags: - CommunityTopic summary: Move a community topic description: This API moves a forum topic from one community category to another. operationId: moveACommunityTopic parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/communityCategoryIdJSON' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityTopicByPermalink: get: tags: - CommunityTopic summary: Get community topic by permalink description: This API fetches a forum topic, based on the permalink in the API request. operationId: getCommunityTopicByPermalink parameters: - name: include in: query description: 'Additional information related to the topics. Values allowed are: @seo@, @featuredImage@ and @participantsCount@.' required: false style: simple explode: true schema: type: - 'null' - array description: 'Additional information related to the topics. Values allowed are: @seo@, @featuredImage@ and @participantsCount@.' items: type: - string - 'null' enum: - seo - featuredImage - participantsCount maxLength: 100 minLength: 0 uniqueItems: true - name: permalink in: query description: permalink of the topic required: true style: form explode: true schema: type: - string - 'null' description: permalink of the topic maxLength: 1000 minLength: 0 pattern: '[a-z0-9\/%\-\P{InBasicLatin}]+' - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse '404': $ref: ./Common.json#/components/responses/urlNotFoundErrorResponse '200': $ref: '#/components/responses/communityMangerTopicJSON' security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityTopics/restore: post: tags: - CommunityTopic summary: Restore trashed topics description: 'This API restores topics from trash. ' operationId: addTrashedCommunityTopics parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/restoreTopics_moderationTopicIdsJSON' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: ./MassActionResponse.json#/components/responses/massActionListResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityModeratedTopics: get: tags: - CommunityTopic summary: List moderated community topics description: This API lists a particular number of moderated topics, based on the limit defined. operationId: getModeratedCommunityTopics parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/categoryId_requiredFalse' - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: '#/components/responses/listAllModeratedTopics' '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityUsers/{userId}/topics: get: tags: - CommunityTopic summary: List community topics by user description: This API lists a particular number of topics by a user, based on the limit defined. operationId: getCommunityTopicsByUser parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - name: startTime in: query description: Starting time of the time range in which the topics should have been created. The value must be expressed according to the GMT time zone. required: false style: form explode: true schema: type: - string - 'null' description: Starting time of the time range in which the topics should have been created. The value must be expressed according to the GMT time zone. maxLength: 100 minLength: 0 pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z)) - name: endTime in: query description: Ending time of the time range in which the topics should have been created. The value must be expressed according to the GMT time zone. required: false style: form explode: true schema: type: - string - 'null' description: Ending time of the time range in which the topics should have been created. The value must be expressed according to the GMT time zone. maxLength: 100 minLength: 0 pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z)) - $ref: '#/components/parameters/type' - $ref: '#/components/parameters/categoryId_requiredFalse' - name: userId in: path required: true style: simple explode: false schema: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: '#/components/responses/listAllUserTopics' '403': $ref: ./Common.json#/components/responses/forbiddenErrorResponse security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityTopics/{topicId}/voters: get: tags: - CommunityTopic summary: List community topic voters description: This API lists a particular number of users who voted in a forum topic, based on the limit defined. operationId: getCommuntiyTopicVoters parameters: - name: limit in: query description: Number of users to list required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Number of users to list maximum: 50 minimum: 1 pattern: ([0-9]+) - name: from in: query description: Index number, starting from which the users must be listed required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Index number, starting from which the users must be listed minimum: 0 pattern: ([0-9]+) - $ref: '#/components/parameters/userType' - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '404': $ref: ./Common.json#/components/responses/urlNotFoundErrorResponse '200': $ref: '#/components/responses/listAllCommunityTopicFollowers' security: - iam-oauth2-schema: - Desk.forums.READ x-audience: - external-public /api/v1/communityTopics/{topicId}/like: post: tags: - CommunityTopic summary: Like community topic description: This API enables users to like a topic. operationId: updateCommunityTopicLike parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId responses: '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public /api/v1/communityMyDraftedTopics: get: tags: - CommunityTopic summary: List all Drafted community Topics description: This API List all Drafted Topics of the current User operationId: getDraftedCommunityTopics parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/type' - $ref: '#/components/parameters/categoryId_requiredFalse' - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: '#/components/responses/myDraftedTopicsResponse' security: - iam-oauth2-schema: - Desk.forums.READ - Desk.community.READ x-audience: - external-public /api/v1/communityTopics/{topicId}/publishDraft: post: tags: - CommunityTopic summary: Publish community topic draft description: This API publishes the draft of a forum topic. operationId: publishCommunityTopicDraft parameters: - $ref: '#/components/parameters/topicId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/publishDraft_communityAddTopicJson' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '200': $ref: '#/components/responses/communityMangerTopicJSON' security: - iam-oauth2-schema: - Desk.forums.UPDATE - Desk.community.UPDATE x-audience: - external-public components: parameters: topicId: name: topicId in: path required: true style: simple explode: false schema: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) from: name: from in: query description: Index number, starting from which the topics must be listed required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Index number, starting from which the topics must be listed minimum: 0 pattern: ([0-9]+) type: name: type in: query description: 'Type of topics to list. Values allowed are: @ANNOUNCEMENT@, @DISCUSSION@, @IDEA@, @PROBLEM@, and @QUESTION@.' required: false style: form explode: true schema: type: - string - 'null' description: 'Type of topics to list. Values allowed are: @ANNOUNCEMENT@, @DISCUSSION@, @IDEA@, @PROBLEM@, and @QUESTION@.' enum: - QUESTION - IDEA - ANNOUNCEMENT - PROBLEM - DISCUSSION maxLength: 100 minLength: 0 status: name: status in: query description: 'Moderation status of the topics. Values allowed are: @AWAITINGAPPROVAL@, @SPAM@, and @TRASHED@.' required: true style: form explode: true schema: type: - string - 'null' description: 'Moderation status of the topics. Values allowed are: @AWAITINGAPPROVAL@, @SPAM@, and @TRASHED@.' enum: - SPAM - TRASHED - AWAITINGAPPROVAL maxLength: 100 minLength: 0 tagName: name: tagName in: query description: Tag by which topics must be filtered required: false style: form explode: true schema: type: - string - 'null' description: Tag by which topics must be filtered maxLength: 100 minLength: 0 pattern: '[A-Za-z0-9\P{InBasicLatin}]+' categoryId: name: categoryId in: query description: ID of the community category from which the topics must be fetched required: true style: form explode: true schema: type: - string - 'null' - integer format: int64 description: ID of the community category from which the topics must be fetched pattern: ([0-9]+) categoryId_requiredFalse: name: categoryId in: query description: ID of the community category from which the topics must be fetched required: false style: form explode: true schema: type: - string - 'null' - integer format: int64 description: ID of the community category from which the topics must be fetched pattern: ([0-9]+) limit: name: limit in: query description: Number of topics to list required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Number of topics to list maximum: 100 minimum: 1 pattern: ([0-9]+) userType: name: userType in: query description: Filters based on the type of the user who follows it. The allowed values are @AGENT@ or @END_USER@. required: false style: form explode: true schema: type: - string - 'null' description: Filters based on the type of the user who follows it. The allowed values are @AGENT@ or @END_USER@. enum: - AGENT - END_USER maxLength: 100 minLength: 0 requestBodies: unmoderateTopics_moderationTopicIdsJSON: content: application/json: schema: type: - 'null' - object additionalProperties: false properties: topicIds: type: - 'null' - array items: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) minItems: 1 uniqueItems: false required: - topicIds examples: Valid requestBody Definitions: value: topicIds: - '103417000000528003' - '103417000000528006' - '103417000000528008' reportBulkTopicsAsSpam: content: application/json: schema: type: - 'null' - object additionalProperties: false properties: reason: type: - string - 'null' description: Reason for marking the topic as spam maxLength: 1000 minLength: 0 topicIds: type: - 'null' - array items: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) uniqueItems: false required: - reason - topicIds examples: Valid requestBody Definitions: value: reason: Reason for marking a topic as spam topicIds: - '103417000000528003' - '103417000000528006' - '103417000000528008' deleteTagsoFATopic_tagsRequest: content: application/json: schema: type: - 'null' - object additionalProperties: false properties: tags: type: - 'null' - array items: type: - string - 'null' maxLength: 100 minLength: 0 pattern: '[A-Za-z0-9\P{InBasicLatin}]+' uniqueItems: false required: - tags examples: Valid requestBody Definitions: value: tags: - tag1 - tag2 communityAddTopicJson: content: application/json: schema: additionalProperties: false allOf: - $ref: ./CommunityTopic.json#/components/schemas/communityAddTopicJson - type: - 'null' - object properties: mailTo: type: - 'null' - array items: type: - string - 'null' maxLength: 100 minLength: 0 pattern: ^[a-zA-Z0-9\_]([a-zA-Z0-9\_\+\-\.\'&]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\-\_]*[a-zA-Z0-9])*)[\.])+[a-zA-Z]{2,22}$ uniqueItems: false permalink: type: - string - 'null' description: permalink of the topic to be created maxLength: 100 minLength: 0 pattern: '[a-z0-9\/%\-\P{InBasicLatin}]+' isSticky: type: - boolean - 'null' description: Key that defines whether the topic must be pinned to the topics list page or not categoryId: type: - string - 'null' - integer format: int64 description: ID of the community category in which the topic must be posted pattern: ([0-9]+) content: type: - string - 'null' description: Body content of the topic maxLength: 50000 minLength: 0 notifyMe: type: - boolean - 'null' description: Key that defines whether the creator of the topic must be notified about further user actions on the topic or not tags: type: - 'null' - array items: type: - string - 'null' maxLength: 200 minLength: 0 pattern: '[A-Za-z0-9\P{InBasicLatin}]+' uniqueItems: false required: - categoryId - type: object required: - categoryId - content - subject - type examples: Valid requestBody Definitions: value: featuredImage: imageId: '1000000061105' subject: Topic 1 attachmentIds: - '4000000019027' mailTo: - carol@zylker.com type: QUESTION seo: keywords: seo,search useTitleAsPageTitle: 'true' description: seo description title: seo title isSticky: 'false' content: '