Salesforce Experience Cloud Sites API

Experience Cloud site management 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-sites-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Experience Cloud Salesforce CMS Connect Actions Sites 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: Sites
  description: Experience Cloud site management operations
paths:
  /connect/communities:
    get:
      operationId: listExperienceCloudSites
      summary: Salesforce Experience Cloud List Experience Cloud Sites
      description: Returns a list of all Experience Cloud sites (communities) available to the context user. Includes site metadata such as name, status, URL path prefix, and template information.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/StatusFilter'
      responses:
        '200':
          description: Successfully retrieved list of Experience Cloud sites
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunityListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createExperienceCloudSite
      summary: Salesforce Experience Cloud Create an Experience Cloud Site
      description: Creates a new Experience Cloud site with the specified name, template, and URL path prefix. Requires the Create and Set Up Experiences permission.
      tags:
      - Sites
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCommunityInput'
      responses:
        '201':
          description: Experience Cloud site created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Community'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /connect/communities/{communityId}:
    get:
      operationId: getExperienceCloudSite
      summary: Salesforce Experience Cloud Get an Experience Cloud Site
      description: Returns detailed information about a specific Experience Cloud site including its name, description, status, URL path prefix, template type, and login and self-registration URLs.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      responses:
        '200':
          description: Successfully retrieved Experience Cloud site details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Community'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateExperienceCloudSite
      summary: Salesforce Experience Cloud Update an Experience Cloud Site
      description: Updates the properties of an existing Experience Cloud site such as its name, description, and status.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/CommunityId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCommunityInput'
      responses:
        '200':
          description: Experience Cloud site updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Community'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    CreateCommunityInput:
      type: object
      description: Input for creating a new Experience Cloud site
      required:
      - name
      - templateName
      - urlPathPrefix
      properties:
        description:
          type: string
          description: Description for the new site
        name:
          type: string
          description: Name for the new site
        templateName:
          type: string
          description: Template to use for the site
        urlPathPrefix:
          type: string
          description: URL path prefix for the site
    UpdateCommunityInput:
      type: object
      description: Input for updating an Experience Cloud site
      properties:
        description:
          type: string
          description: Updated description for the site
        name:
          type: string
          description: Updated name for the site
        status:
          type: string
          description: Updated status for the site
          enum:
          - Live
          - Inactive
          - DownForMaintenance
    CommunityListResponse:
      type: object
      description: Response containing a list of Experience Cloud sites
      properties:
        communities:
          type: array
          description: List of Experience Cloud sites
          items:
            $ref: '#/components/schemas/Community'
        total:
          type: integer
          description: Total number of sites available
    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
    Community:
      type: object
      description: Represents an Experience Cloud site (community)
      properties:
        allowChatterAccessWithoutLogin:
          type: boolean
          description: Whether guest users can access Chatter
        allowMembersToFlag:
          type: boolean
          description: Whether community members can flag content
        description:
          type: string
          description: Description of the Experience Cloud site
        id:
          type: string
          description: Unique identifier of the site
        invitationsEnabled:
          type: boolean
          description: Whether invitations are enabled for the site
        knowledgeableEnabled:
          type: boolean
          description: Whether the knowledgeable people feature is enabled
        loginUrl:
          type: string
          format: uri
          description: URL for the site login page
        memberVisibilityEnabled:
          type: boolean
          description: Whether members can see other members
        name:
          type: string
          description: Name of the Experience Cloud site
        nicknameDisplayEnabled:
          type: boolean
          description: Whether nicknames are displayed instead of full names
        privateMessagesEnabled:
          type: boolean
          description: Whether private messaging is enabled
        reputationEnabled:
          type: boolean
          description: Whether the reputation system is enabled
        sendWelcomeEmail:
          type: boolean
          description: Whether welcome emails are sent to new members
        siteAsContainerEnabled:
          type: boolean
          description: Whether the site-as-container feature is enabled
        siteUrl:
          type: string
          format: uri
          description: The URL of the Experience Cloud site
        status:
          type: string
          description: Current status of the site
          enum:
          - Live
          - Inactive
          - DownForMaintenance
          - UnderConstruction
        templateName:
          type: string
          description: Name of the template used for the site
        url:
          type: string
          format: uri
          description: API resource URL for this site
        urlPathPrefix:
          type: string
          description: URL path prefix for the site
  responses:
    Forbidden:
      description: Forbidden - insufficient permissions
      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'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ErrorResponse'
  parameters:
    StatusFilter:
      name: status
      in: query
      description: Filter sites by status. Valid values are Live, Inactive, DownForMaintenance, UnderConstruction.
      schema:
        type: string
        enum:
        - Live
        - Inactive
        - DownForMaintenance
        - UnderConstruction
    CommunityId:
      name: communityId
      in: path
      required: true
      description: The ID of the Experience Cloud site (community)
      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