Salesforce Experience Cloud Sites API

Experience Cloud site management operations

Operations 4

GET /connect/communities Salesforce Experience Cloud List Experience Cloud Sites #
POST /connect/communities Salesforce Experience Cloud Create an Experience Cloud Site #
GET /connect/communities/{communityId} Salesforce Experience Cloud Get an Experience Cloud Site #
PATCH /connect/communities/{communityId} Salesforce Experience Cloud Update an Experience Cloud Site #

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-sites-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-sites-api-openapi.yml Raw ↑
openapi: 3.2.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
    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
    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
    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
    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
  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
  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