Salesforce Experience Cloud · Agentic Access
Salesforce Experience Cloud Agentic Access
x-agentic-access
generated
Salesforce Experience Cloud exposes 89 API operations that an AI agent could call, of which 28 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 61 read and 28 write.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
CMSCommunitiesCRMCustomer PortalDigital ExperienceExperience CloudPartner Portal
Operations: 89
Acting: 28
Human-in-the-loop: 0
Method: generated
By consequence
read 61
write 28
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/salesforce-experience-cloud-cms-connect-openapi.yml, openapi/salesforce-experience-cloud-cms-delivery-openapi.yml,
openapi/salesforce-experience-cloud-cms-managed-content-openapi.yml, openapi/salesforce-experience-cloud-connect-communities-openapi.yml,
openapi/salesforce-experience-cloud-graphql-openapi.yml, openapi/salesforce-experience-cloud-rest-api-openapi.yml,
openapi/salesforce-experience-cloud-sites-openapi.yml, openapi/salesforce-experience-cloud-templates-openapi.yml,
openapi/salesforce-experience-cloud-user-interface-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
audience per deployment. See research/curity/agentic-governance/.
summary:
operations: 89
by_action_class:
connected: 61
acting: 28
by_consequence:
read: 61
write: 28
human_in_the_loop_required: 0
operations:
- path: /channels
method: get
operationId: listCmsChannels
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /channels/{channelId}
method: get
operationId: getCmsChannel
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contents
method: get
operationId: listCmsContents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contents
method: post
operationId: createCmsContent
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contents/{contentId}
method: get
operationId: getCmsContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contents/{contentId}
method: patch
operationId: updateCmsContent
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contents/{contentId}
method: delete
operationId: deleteCmsContent
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contents/{contentId}/publish
method: post
operationId: publishCmsContent
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contents/{contentId}/unpublish
method: post
operationId: unpublishCmsContent
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /content-types
method: get
operationId: listContentTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /folders
method: get
operationId: listCmsFolders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /media
method: get
operationId: listCmsMedia
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /media
method: post
operationId: uploadCmsMedia
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /media/{mediaId}
method: get
operationId: getCmsMedia
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /media/{mediaId}
method: delete
operationId: deleteCmsMedia
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /channels/{channelId}/contents/query
method: get
operationId: queryDeliveryContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /channels/{channelId}/contents/search
method: get
operationId: searchDeliveryContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /channels/{channelId}/contents/{contentKeyOrId}
method: get
operationId: getDeliveryContentItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /channels/{channelId}/contents/{contentKeyOrId}/binary
method: get
operationId: getDeliveryContentBinary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /channels/{channelId}/collections
method: get
operationId: listDeliveryCollections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /channels/{channelId}/collections/{collectionKeyOrId}
method: get
operationId: getDeliveryCollection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cms/delivery/channels
method: get
operationId: listDeliveryChannels
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cms/delivery/channels/{channelId}
method: get
operationId: getDeliveryChannel
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cms/delivery/channels/{channelId}/contents/query
method: get
operationId: queryChannelContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cms/delivery/channels/{channelId}/contents/search
method: get
operationId: searchChannelContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cms/delivery/channels/{channelId}/contents/{contentKeyOrId}
method: get
operationId: getChannelContentItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/managed-content/delivery
method: get
operationId: queryCommunityManagedContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/managed-content/delivery/search
method: get
operationId: searchCommunityManagedContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/chatter/feeds/news/me/feed-elements
method: get
operationId: getNewsFeed
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/chatter/feeds/news/me/feed-elements
method: post
operationId: postFeedElement
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /communities/{communityId}/chatter/feed-elements/{feedElementId}
method: get
operationId: getFeedElement
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/chatter/feed-elements/{feedElementId}
method: delete
operationId: deleteFeedElement
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /communities/{communityId}/chatter/feed-elements/{feedElementId}/capabilities/comments/items
method: get
operationId: getFeedElementComments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/chatter/feed-elements/{feedElementId}/capabilities/comments/items
method: post
operationId: postComment
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /communities/{communityId}/chatter/feed-elements/{feedElementId}/capabilities/chatter-likes/items
method: get
operationId: getFeedElementLikes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/chatter/feed-elements/{feedElementId}/capabilities/chatter-likes/items
method: post
operationId: likeFeedElement
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /communities/{communityId}/topics
method: get
operationId: getTopics
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/topics
method: post
operationId: createTopic
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /communities/{communityId}/topics/{topicId}
method: get
operationId: getTopic
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/topics/{topicId}
method: patch
operationId: updateTopic
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /communities/{communityId}/topics/{topicId}
method: delete
operationId: deleteTopic
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /communities/{communityId}/chatter/users/me
method: get
operationId: getCurrentUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/chatter/users
method: get
operationId: getCommunityMembers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/chatter/users/{userId}/reputation
method: get
operationId: getUserReputation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/managed-content/delivery
method: get
operationId: getKnowledgeArticles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /communities/{communityId}/moderation/flagged-elements
method: get
operationId: getFlaggedElements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /graphql
method: post
operationId: executeGraphqlQuery
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /services/data
method: get
operationId: listApiVersions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /
method: get
operationId: listResources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sobjects
method: get
operationId: describeGlobal
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sobjects/{sObjectName}
method: get
operationId: getSObjectBasicInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sobjects/{sObjectName}
method: post
operationId: createSObjectRecord
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /sobjects/{sObjectName}/describe
method: get
operationId: describeSObject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sobjects/{sObjectName}/{recordId}
method: get
operationId: getSObjectRecord
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sobjects/{sObjectName}/{recordId}
method: patch
operationId: updateSObjectRecord
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /sobjects/{sObjectName}/{recordId}
method: delete
operationId: deleteSObjectRecord
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /query
method: get
operationId: executeQuery
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /queryAll
method: get
operationId: executeQueryAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /query/{queryLocator}
method: get
operationId: getNextQueryPage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /search
method: get
operationId: executeSearch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /limits
method: get
operationId: getLimits
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities
method: get
operationId: listExperienceCloudSites
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities
method: post
operationId: createExperienceCloudSite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /connect/communities/{communityId}
method: get
operationId: getExperienceCloudSite
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}
method: patch
operationId: updateExperienceCloudSite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /connect/communities/{communityId}/publish
method: post
operationId: publishExperienceCloudSite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /connect/communities/{communityId}/navigation-menu/navigation-menu-items
method: get
operationId: getNavigationMenuItems
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}/themes
method: get
operationId: getSiteThemes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/templates
method: get
operationId: listSiteTemplates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}/template
method: get
operationId: getSiteTemplate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}/themes
method: get
operationId: listSiteThemes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}/themes/active
method: get
operationId: getActiveTheme
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}/themes/active
method: put
operationId: setActiveTheme
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /connect/communities/{communityId}/branding-sets
method: get
operationId: listBrandingSets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}/branding-sets/{brandingSetId}
method: get
operationId: getBrandingSet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/communities/{communityId}/branding-sets/{brandingSetId}
method: patch
operationId: updateBrandingSet
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /record-ui/{recordIds}
method: get
operationId: getRecordUi
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /records/{recordId}
method: get
operationId: getRecord
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /records/{recordId}
method: patch
operationId: updateRecord
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /records/{recordId}
method: delete
operationId: deleteRecord
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /records
method: post
operationId: createRecord
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /layout/{objectApiName}
method: get
operationId: getRecordLayout
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /object-info/{objectApiName}
method: get
operationId: getObjectInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /list-ui/{listViewId}
method: get
operationId: getListViewData
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /list-ui/{objectApiName}
method: get
operationId: getListViewsByObject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /actions/record/{recordId}
method: get
operationId: getRecordActions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /favorites
method: get
operationId: getFavorites
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /favorites
method: post
operationId: addFavorite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /favorites/{favoriteId}
method: delete
operationId: removeFavorite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required