Salesforce Experience Cloud Describe API

Object and field metadata

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-describe-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Experience Cloud Salesforce CMS Connect Actions Describe 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: Describe
  description: Object and field metadata
paths:
  /sobjects:
    get:
      operationId: describeGlobal
      summary: Salesforce Experience Cloud Describe Global
      description: Returns a list of all sObjects available in the org, including metadata about each object such as label, name, key prefix, and available operations (createable, queryable, etc.).
      tags:
      - Describe
      parameters:
      - name: If-Modified-Since
        in: header
        description: Return objects modified since this date
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Successfully retrieved global describe
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeGlobalResult'
        '304':
          description: No objects modified since the specified date
        '401':
          $ref: '#/components/responses/Unauthorized'
  /sobjects/{sObjectName}/describe:
    get:
      operationId: describeSObject
      summary: Salesforce Experience Cloud Describe an sObject
      description: Returns complete metadata about the specified sObject, including all fields, record types, child relationships, URLs, and supported operations. Includes field-level details such as type, length, picklist values, and relationship information.
      tags:
      - Describe
      parameters:
      - $ref: '#/components/parameters/SObjectName'
      - name: If-Modified-Since
        in: header
        description: Return describe only if modified since this date
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Successfully retrieved sObject describe
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeSObjectResult'
        '304':
          description: sObject not modified since the specified date
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    SObjectDescribeBrief:
      type: object
      description: Brief description of an sObject from global describe
      properties:
        activateable:
          type: boolean
        createable:
          type: boolean
        custom:
          type: boolean
        customSetting:
          type: boolean
        deepCloneable:
          type: boolean
        deletable:
          type: boolean
        deprecatedAndHidden:
          type: boolean
        feedEnabled:
          type: boolean
        hasSubtypes:
          type: boolean
        isInterface:
          type: boolean
        isSubtype:
          type: boolean
        keyPrefix:
          type: string
        label:
          type: string
        labelPlural:
          type: string
        layoutable:
          type: boolean
        mergeable:
          type: boolean
        mruEnabled:
          type: boolean
        name:
          type: string
        queryable:
          type: boolean
        replicateable:
          type: boolean
        retrieveable:
          type: boolean
        searchable:
          type: boolean
        triggerable:
          type: boolean
        undeletable:
          type: boolean
        updateable:
          type: boolean
        urls:
          type: object
          additionalProperties:
            type: string
    DescribeGlobalResult:
      type: object
      description: Result of a global describe call
      properties:
        encoding:
          type: string
        maxBatchSize:
          type: integer
        sobjects:
          type: array
          items:
            $ref: '#/components/schemas/SObjectDescribeBrief'
    ChildRelationship:
      type: object
      description: Describes a child relationship
      properties:
        cascadeDelete:
          type: boolean
        childSObject:
          type: string
        deprecatedAndHidden:
          type: boolean
        field:
          type: string
        junctionIdListNames:
          type: array
          items:
            type: string
        junctionReferenceTo:
          type: array
          items:
            type: string
        relationshipName:
          type: string
        restrictedDelete:
          type: boolean
    RecordTypeInfo:
      type: object
      description: Record type information
      properties:
        active:
          type: boolean
        available:
          type: boolean
        defaultRecordTypeMapping:
          type: boolean
        developerName:
          type: string
        master:
          type: boolean
        name:
          type: string
        recordTypeId:
          type: string
        urls:
          type: object
          additionalProperties:
            type: string
    FieldDescribe:
      type: object
      description: Metadata about a field
      properties:
        aggregatable:
          type: boolean
        aiPredictionField:
          type: boolean
        autoNumber:
          type: boolean
        byteLength:
          type: integer
        calculated:
          type: boolean
        calculatedFormula:
          type: string
        cascadeDelete:
          type: boolean
        caseSensitive:
          type: boolean
        compoundFieldName:
          type: string
        controllerName:
          type: string
        createable:
          type: boolean
        custom:
          type: boolean
        defaultValue:
          type: string
        defaultValueFormula:
          type: string
        defaultedOnCreate:
          type: boolean
        dependentPicklist:
          type: boolean
        deprecatedAndHidden:
          type: boolean
        digits:
          type: integer
        displayLocationInDecimal:
          type: boolean
        encrypted:
          type: boolean
        externalId:
          type: boolean
        extraTypeInfo:
          type: string
        filterable:
          type: boolean
        filteredLookupInfo:
          type: object
        formulaTreatNullNumberAsZero:
          type: boolean
        groupable:
          type: boolean
        highScaleNumber:
          type: boolean
        htmlFormatted:
          type: boolean
        idLookup:
          type: boolean
        inlineHelpText:
          type: string
        label:
          type: string
        length:
          type: integer
        mask:
          type: string
        maskType:
          type: string
        name:
          type: string
        nameField:
          type: boolean
        namePointing:
          type: boolean
        nillable:
          type: boolean
        permissionable:
          type: boolean
        picklistValues:
          type: array
          items:
            type: object
            properties:
              active:
                type: boolean
              defaultValue:
                type: boolean
              label:
                type: string
              validFor:
                type: string
              value:
                type: string
        polymorphicForeignKey:
          type: boolean
        precision:
          type: integer
        queryByDistance:
          type: boolean
        referenceTargetField:
          type: string
        referenceTo:
          type: array
          items:
            type: string
        relationshipName:
          type: string
        relationshipOrder:
          type: integer
        restrictedDelete:
          type: boolean
        restrictedPicklist:
          type: boolean
        scale:
          type: integer
        searchPrefilterable:
          type: boolean
        soapType:
          type: string
        sortable:
          type: boolean
        type:
          type: string
          enum:
          - id
          - boolean
          - currency
          - date
          - datetime
          - double
          - email
          - encryptedstring
          - int
          - long
          - multipicklist
          - percent
          - phone
          - picklist
          - reference
          - string
          - textarea
          - time
          - url
        unique:
          type: boolean
        updateable:
          type: boolean
        writeRequiresMasterRead:
          type: boolean
    DescribeSObjectResult:
      type: object
      description: Complete describe result for an sObject
      properties:
        actionOverrides:
          type: array
          items:
            type: object
        activateable:
          type: boolean
        childRelationships:
          type: array
          items:
            $ref: '#/components/schemas/ChildRelationship'
        compactLayoutable:
          type: boolean
        createable:
          type: boolean
        custom:
          type: boolean
        customSetting:
          type: boolean
        deletable:
          type: boolean
        deprecatedAndHidden:
          type: boolean
        feedEnabled:
          type: boolean
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDescribe'
        hasSubtypes:
          type: boolean
        isSubtype:
          type: boolean
        keyPrefix:
          type: string
        label:
          type: string
        labelPlural:
          type: string
        layoutable:
          type: boolean
        listviewable:
          type: boolean
        lookupLayoutable:
          type: boolean
        mergeable:
          type: boolean
        mruEnabled:
          type: boolean
        name:
          type: string
        namedLayoutInfos:
          type: array
          items:
            type: object
        networkScopeFieldName:
          type: string
        queryable:
          type: boolean
        recordTypeInfos:
          type: array
          items:
            $ref: '#/components/schemas/RecordTypeInfo'
        replicateable:
          type: boolean
        retrieveable:
          type: boolean
        searchLayoutable:
          type: boolean
        searchable:
          type: boolean
        supportedScopes:
          type: array
          items:
            type: object
            properties:
              label:
                type: string
              name:
                type: string
        triggerable:
          type: boolean
        undeletable:
          type: boolean
        updateable:
          type: boolean
        urls:
          type: object
          additionalProperties:
            type: string
    ErrorResponse:
      type: object
      description: Standard Salesforce API error response
      properties:
        errorCode:
          type: string
          description: Salesforce error code
        fields:
          type: array
          items:
            type: string
        message:
          type: string
          description: Human-readable error message
  responses:
    Unauthorized:
      description: Unauthorized - invalid or expired OAuth token
      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:
    SObjectName:
      name: sObjectName
      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
            content: Manage CMS content
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2
      description: Bearer token obtained through OAuth 2.0 flow