Salesforce Experience Cloud Topics API

Topic management and assignments

Operations 5

GET /communities/{communityId}/topics Salesforce Experience Cloud List Topics #
POST /communities/{communityId}/topics Salesforce Experience Cloud Create a Topic #
GET /communities/{communityId}/topics/{topicId} Salesforce Experience Cloud Get a Topic #
PATCH /communities/{communityId}/topics/{topicId} Salesforce Experience Cloud Update a Topic #
DELETE /communities/{communityId}/topics/{topicId} Salesforce Experience Cloud Delete a Topic #

Documentation

📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.exp_cloud_apis.meta/exp_cloud_apis/
📖
Authentication
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_oauth_and_connected_apps.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.communities_dev.meta/communities_dev/communities_dev_intro_before.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickstart_dev_org.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_cms.htm
📖
GettingStarted
https://developer.salesforce.com/docs/platform/cms/guide/cms-developer-guide.html
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.exp_cloud_lwr.meta/exp_cloud_lwr/template_overview.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.graphql.meta/graphql/
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.graphql.meta/graphql/
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_managed_content_resources.htm
📖
GettingStarted
https://developer.salesforce.com/docs/platform/cms/guide/cms-dev-retrieve-cms-content-with-a-connected-app.html
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_cms_delivery_content.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_get_started.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_get_started.htm

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/salesforce-experience-cloud-topics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

salesforce-experience-cloud-topics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salesforce Experience Cloud Salesforce CMS Connect Actions Topics API
  description: Manage content, channels, and media in Experience Cloud CMS. Supports creating, updating, and delivering managed content across channels for headless content delivery and site publishing. Part of the Salesforce Connect REST API.
  version: 59.0.0
  contact:
    name: Salesforce Developer Support
    url: https://developer.salesforce.com/
  license:
    name: Salesforce Master Subscription Agreement
    url: https://www.salesforce.com/company/legal/sfdc-website-terms-of-service/
servers:
- url: https://{instance}.salesforce.com/services/data/v59.0/connect/cms
  description: Salesforce Instance
  variables:
    instance:
      default: yourInstance
      description: Your Salesforce instance name or custom domain
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Topics
  description: Topic management and assignments
paths:
  /communities/{communityId}/topics:
    get:
      operationId: getTopics
      summary: Salesforce Experience Cloud List Topics
      description: Returns a list of topics in the specified Experience Cloud site. Topics organize content and enable community members to find relevant discussions and knowledge.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageToken'
      - name: q
        in: query
        description: Search term to filter topics by name
        schema:
          type: string
      - name: exactMatch
        in: query
        description: Whether to match the search term exactly
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully retrieved topics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopicCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createTopic
      summary: Salesforce Experience Cloud Create a Topic
      description: Creates a new topic in the specified Experience Cloud site.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TopicInput'
      responses:
        '201':
          description: Topic created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /communities/{communityId}/topics/{topicId}:
    get:
      operationId: getTopic
      summary: Salesforce Experience Cloud Get a Topic
      description: Returns details about a specific topic in the Experience Cloud site, including name, description, and related feed items.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - name: topicId
        in: path
        required: true
        description: The ID of the topic
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved topic
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateTopic
      summary: Salesforce Experience Cloud Update a Topic
      description: Updates the name or description of an existing topic in the Experience Cloud site.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - name: topicId
        in: path
        required: true
        description: The ID of the topic
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TopicInput'
      responses:
        '200':
          description: Topic updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteTopic
      summary: Salesforce Experience Cloud Delete a Topic
      description: Deletes the specified topic from the Experience Cloud site. Requires appropriate moderation permissions.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - name: topicId
        in: path
        required: true
        description: The ID of the topic
        schema:
          type: string
      responses:
        '204':
          description: Topic deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    PageToken:
      name: pageToken
      in: query
      description: Token for retrieving the next page of results
      schema:
        type: string
    CommunityId:
      name: communityId
      in: path
      required: true
      description: The ID of the Experience Cloud site (community)
      schema:
        type: string
    PageSize:
      name: pageSize
      in: query
      description: Number of items to return per page (default 25, max 100)
      schema:
        type: integer
        default: 25
        maximum: 100
  schemas:
    TopicCollection:
      type: object
      description: Collection of topics
      properties:
        currentPageUrl:
          type: string
          format: uri
        nextPageUrl:
          type: string
          format: uri
        topics:
          type: array
          items:
            $ref: '#/components/schemas/Topic'
    Topic:
      type: object
      description: A topic within an Experience Cloud site
      properties:
        id:
          type: string
          description: Unique identifier of the topic
        createdDate:
          type: string
          format: date-time
        description:
          type: string
        images:
          type: object
          properties:
            coverImageUrl:
              type: string
              format: uri
        name:
          type: string
          description: Name of the topic
        talkingAbout:
          type: integer
          description: Number of people currently talking about this topic
        url:
          type: string
          format: uri
    ErrorResponse:
      type: object
      description: Standard Salesforce API error response
      properties:
        errorCode:
          type: string
          description: Salesforce error code
        message:
          type: string
          description: Human-readable error message
    TopicInput:
      type: object
      description: Input for creating or updating a topic
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the topic
        description:
          type: string
          description: Description of the topic
  responses:
    Unauthorized:
      description: Unauthorized - invalid or expired OAuth token
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request - invalid input parameters
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Forbidden - insufficient permissions
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    oauth2:
      type: oauth2
      description: Salesforce OAuth 2.0 authentication
      flows:
        authorizationCode:
          authorizationUrl: https://login.salesforce.com/services/oauth2/authorize
          tokenUrl: https://login.salesforce.com/services/oauth2/token
          scopes:
            api: Access and manage your data
            content: Manage CMS content
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2
      description: Bearer token obtained through OAuth 2.0 flow