Salesforce Experience Cloud Layouts API

Page layout metadata

Operations 1

GET /layout/{objectApiName} Salesforce Experience Cloud Get Record Layout #

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-layouts-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-layouts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salesforce Experience Cloud Salesforce CMS Connect Actions Layouts 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: Layouts
  description: Page layout metadata
paths:
  /layout/{objectApiName}:
    get:
      operationId: getRecordLayout
      summary: Salesforce Experience Cloud Get Record Layout
      description: Returns layout metadata for the specified object type including sections, fields, and their display properties. Used to render record forms dynamically.
      tags:
      - Layouts
      parameters:
      - $ref: '#/components/parameters/ObjectApiName'
      - name: formFactor
        in: query
        description: Form factor for the layout
        schema:
          type: string
          enum:
          - Large
          - Medium
          - Small
      - name: layoutType
        in: query
        description: Type of layout to retrieve
        schema:
          type: string
          enum:
          - Compact
          - Full
      - name: mode
        in: query
        description: Mode for the layout
        schema:
          type: string
          enum:
          - Create
          - Edit
          - View
      - name: recordTypeId
        in: query
        description: Record type ID for the layout
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved record layout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordLayoutRepresentation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    LayoutItem:
      type: object
      description: A field item within a layout section
      properties:
        editableForNew:
          type: boolean
        editableForUpdate:
          type: boolean
        label:
          type: string
        layoutComponents:
          type: array
          items:
            type: object
            properties:
              apiName:
                type: string
              componentType:
                type: string
              label:
                type: string
        lookupIdApiName:
          type: string
        required:
          type: boolean
        sortable:
          type: boolean
    RecordLayoutRepresentation:
      type: object
      description: Layout metadata for an object
      properties:
        id:
          type: string
          description: Layout ID
        layoutType:
          type: string
          enum:
          - Compact
          - Full
        mode:
          type: string
          enum:
          - Create
          - Edit
          - View
        sections:
          type: array
          items:
            $ref: '#/components/schemas/LayoutSection'
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        errorCode:
          type: string
        message:
          type: string
    LayoutSection:
      type: object
      description: A section within a layout
      properties:
        collapsible:
          type: boolean
        columns:
          type: integer
        heading:
          type: string
        id:
          type: string
        layoutRows:
          type: array
          items:
            type: object
            properties:
              layoutItems:
                type: array
                items:
                  $ref: '#/components/schemas/LayoutItem'
        rows:
          type: integer
        useHeading:
          type: boolean
  parameters:
    ObjectApiName:
      name: objectApiName
      in: path
      required: true
      description: The API name of the Salesforce object (e.g., Account, Contact)
      schema:
        type: string
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Not found
      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