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 User Interface…
  description: Access record data, layouts, list views, and navigation items for building custom user interfaces. Powers Lightning web components in Experience Cloud sites with metadata-driven UI rendering. Returns both data and metadata in a single response.
  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/ui-api
  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:
    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
    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
    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
  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'
  parameters:
    ObjectApiName:
      name: objectApiName
      in: path
      required: true
      description: The API name of the Salesforce object (e.g., Account, Contact)
      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
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2
      description: Bearer token obtained through OAuth 2.0 flow