Salesforce Experience Cloud Feeds API

Feed and feed item operations

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

OpenAPI Specification

salesforce-experience-cloud-feeds-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Experience Cloud Salesforce CMS Connect Actions Feeds 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: Feeds
  description: Feed and feed item operations
paths:
  /communities/{communityId}/chatter/feeds/news/me/feed-elements:
    get:
      operationId: getNewsFeed
      summary: Salesforce Experience Cloud Get News Feed
      description: Returns the news feed for the context user within the specified Experience Cloud site. Includes feed items from people and records the user follows, groups the user is a member of, and site-wide posts.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageToken'
      - name: sort
        in: query
        description: Sort order of feed elements
        schema:
          type: string
          enum:
          - CreatedDateDesc
          - LastModifiedDateDesc
      responses:
        '200':
          description: Successfully retrieved news feed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedElementPage'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: postFeedElement
      summary: Salesforce Experience Cloud Post a Feed Element
      description: Creates a new feed element (post) on the news feed of the specified Experience Cloud site. Supports text posts, link posts, and content posts with mentions and hashtags.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedElementInput'
      responses:
        '201':
          description: Feed element created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedElement'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /communities/{communityId}/chatter/feed-elements/{feedElementId}:
    get:
      operationId: getFeedElement
      summary: Salesforce Experience Cloud Get a Feed Element
      description: Returns a specific feed element by its ID within the specified Experience Cloud site, including the body, comments, and likes.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/FeedElementId'
      responses:
        '200':
          description: Successfully retrieved the feed element
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedElement'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteFeedElement
      summary: Salesforce Experience Cloud Delete a Feed Element
      description: Deletes the specified feed element from the Experience Cloud site. Requires ownership of the feed element or moderation permissions.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/FeedElementId'
      responses:
        '204':
          description: Feed element deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /communities/{communityId}/chatter/feed-elements/{feedElementId}/capabilities/comments/items:
    get:
      operationId: getFeedElementComments
      summary: Salesforce Experience Cloud Get Comments on a Feed Element
      description: Returns the comments on a specific feed element within the Experience Cloud site.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/FeedElementId'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageToken'
      responses:
        '200':
          description: Successfully retrieved comments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentPage'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: postComment
      summary: Salesforce Experience Cloud Post a Comment
      description: Creates a new comment on the specified feed element within the Experience Cloud site.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/FeedElementId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInput'
      responses:
        '201':
          description: Comment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /communities/{communityId}/chatter/feed-elements/{feedElementId}/capabilities/chatter-likes/items:
    get:
      operationId: getFeedElementLikes
      summary: Salesforce Experience Cloud Get Likes on a Feed Element
      description: Returns the likes on a specific feed element within the Experience Cloud site.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/FeedElementId'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageToken'
      responses:
        '200':
          description: Successfully retrieved likes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LikePage'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: likeFeedElement
      summary: Salesforce Experience Cloud Like a Feed Element
      description: Adds a like to the specified feed element in the Experience Cloud site on behalf of the context user.
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      - $ref: '#/components/parameters/FeedElementId'
      responses:
        '201':
          description: Like added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Like'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Forbidden:
      description: Forbidden - insufficient permissions
      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'
    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'
  schemas:
    FeedElementPage:
      type: object
      description: Paginated list of feed elements
      properties:
        currentPageToken:
          type: string
          description: Token for the current page
        currentPageUrl:
          type: string
          format: uri
          description: URL for the current page
        elements:
          type: array
          description: Feed elements on this page
          items:
            $ref: '#/components/schemas/FeedElement'
        isModifiedToken:
          type: string
        isModifiedUrl:
          type: string
          format: uri
        nextPageToken:
          type: string
          description: Token for the next page
        nextPageUrl:
          type: string
          format: uri
          description: URL for the next page
        updatesToken:
          type: string
        updatesUrl:
          type: string
          format: uri
    CommentPage:
      type: object
      description: Paginated list of comments
      properties:
        comments:
          type: array
          items:
            $ref: '#/components/schemas/Comment'
        currentPageToken:
          type: string
        currentPageUrl:
          type: string
          format: uri
        nextPageToken:
          type: string
        nextPageUrl:
          type: string
          format: uri
        total:
          type: integer
    LikePage:
      type: object
      description: Paginated list of likes
      properties:
        currentPageToken:
          type: string
        currentPageUrl:
          type: string
          format: uri
        likes:
          type: array
          items:
            $ref: '#/components/schemas/Like'
        nextPageToken:
          type: string
        nextPageUrl:
          type: string
          format: uri
        total:
          type: integer
    FeedElementInput:
      type: object
      description: Input for creating a feed element
      required:
      - body
      - feedElementType
      - subjectId
      properties:
        body:
          $ref: '#/components/schemas/MessageBodyInput'
        feedElementType:
          type: string
          description: Type of feed element to create
          enum:
          - FeedItem
        subjectId:
          type: string
          description: ID of the parent record for the post
    FeedElementCapabilities:
      type: object
      description: Capabilities available on a feed element
      properties:
        comments:
          type: object
          properties:
            page:
              $ref: '#/components/schemas/CommentPage'
        chatterLikes:
          type: object
          properties:
            page:
              $ref: '#/components/schemas/LikePage'
            myLike:
              $ref: '#/components/schemas/Like'
    MessageSegmentInput:
      type: object
      description: Input for a message segment
      properties:
        text:
          type: string
        type:
          type: string
          enum:
          - Text
          - Mention
          - Hashtag
    CommentInput:
      type: object
      description: Input for creating a comment
      required:
      - body
      properties:
        body:
          $ref: '#/components/schemas/MessageBodyInput'
    Like:
      type: object
      description: A like on a feed element or comment
      properties:
        id:
          type: string
        createdDate:
          type: string
          format: date-time
        url:
          type: string
          format: uri
        user:
          $ref: '#/components/schemas/ActorReference'
    MessageBodyInput:
      type: object
      description: Input for a message body
      properties:
        messageSegments:
          type: array
          items:
            $ref: '#/components/schemas/MessageSegmentInput'
    Comment:
      type: object
      description: A comment on a feed element
      properties:
        id:
          type: string
        body:
          $ref: '#/components/schemas/MessageBody'
        createdDate:
          type: string
          format: date-time
        feedElement:
          $ref: '#/components/schemas/ActorReference'
        likes:
          $ref: '#/components/schemas/LikePage'
        user:
          $ref: '#/components/schemas/ActorReference'
        url:
          type: string
          format: uri
    FeedElement:
      type: object
      description: A feed element such as a post or announcement
      properties:
        id:
          type: string
          description: Unique identifier of the feed element
        body:
          $ref: '#/components/schemas/MessageBody'
        capabilities:
          $ref: '#/components/schemas/FeedElementCapabilities'
        createdDate:
          type: string
          format: date-time
          description: When the feed element was created
        feedElementType:
          type: string
          description: Type of feed element
          enum:
          - FeedItem
          - Bundle
          - Recommendation
        header:
          $ref: '#/components/schemas/MessageBody'
        modifiedDate:
          type: string
          format: date-time
          description: When the feed element was last modified
        parent:
          $ref: '#/components/schemas/ActorReference'
        actor:
          $ref: '#/components/schemas/ActorReference'
        url:
          type: string
          format: uri
          description: API resource URL
    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
    ActorReference:
      type: object
      description: Reference to a user or record
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        url:
          type: string
          format: uri
    MessageBody:
      type: object
      description: Rich text body of a feed element or comment
      properties:
        isRichText:
          type: boolean
        messageSegments:
          type: array
          items:
            $ref: '#/components/schemas/MessageSegment'
        text:
          type: string
    MessageSegment:
      type: object
      description: A segment of a message body
      properties:
        text:
          type: string
        type:
          type: string
          enum:
          - Text
          - Mention
          - Hashtag
          - Link
          - MarkupBegin
          - MarkupEnd
  parameters:
    CommunityId:
      name: communityId
      in: path
      required: true
      description: The ID of the Experience Cloud site (community)
      schema:
        type: string
    FeedElementId:
      name: feedElementId
      in: path
      required: true
      description: The ID of the feed element
      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
    PageToken:
      name: pageToken
      in: query
      description: Token for retrieving the next page of results
      schema:
        type: string
  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