generated: '2026-07-15' method: generated source: openapi/salesforce-sales-cloud-analytics-api-openapi.yml, openapi/salesforce-sales-cloud-apex-rest-api-openapi.yml, openapi/salesforce-sales-cloud-bulk-api-openapi.yml, openapi/salesforce-sales-cloud-change-data-capture-api-openapi.yml, openapi/salesforce-sales-cloud-composite-api-openapi.yml, openapi/salesforce-sales-cloud-connect-api-openapi.yml, openapi/salesforce-sales-cloud-graphql-api-openapi.yml, openapi/salesforce-sales-cloud-platform-events-api-openapi.yml, openapi/salesforce-sales-cloud-rest-api-openapi.yml, openapi/salesforce-sales-cloud-tooling-api-openapi.yml, openapi/salesforce-sales-cloud-ui-api-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: 114 by_action_class: connected: 69 acting: 45 by_consequence: read: 69 write: 45 human_in_the_loop_required: 0 operations: - path: /reports method: get operationId: listReports x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reports/{reportId} method: get operationId: getReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reports/{reportId} method: patch operationId: updateReport 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: /reports/{reportId} method: delete operationId: deleteReport 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: /reports/{reportId}/describe method: get operationId: describeReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reports/{reportId}?includeDetails=true method: post operationId: executeReportSync 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: /reports/{reportId}/instances method: get operationId: listReportInstances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reports/{reportId}/instances method: post operationId: executeReportAsync 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: /reports/{reportId}/instances/{instanceId} method: get operationId: getReportInstanceResults x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reportTypes method: get operationId: listReportTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reportTypes/{reportType} method: get operationId: describeReportType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboards method: get operationId: listDashboards x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboards/{dashboardId} method: get operationId: getDashboard x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboards/{dashboardId} method: put operationId: refreshDashboard 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: /dashboards/{dashboardId} method: delete operationId: deleteDashboard 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: /dashboards/{dashboardId}/status method: get operationId: getDashboardStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{resourcePath} method: get operationId: getApexRestResource x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{resourcePath} method: post operationId: postApexRestResource 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: /{resourcePath} method: patch operationId: patchApexRestResource 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: /{resourcePath} method: put operationId: putApexRestResource 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: /{resourcePath} method: delete operationId: deleteApexRestResource 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: /jobs/ingest method: get operationId: listIngestJobs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jobs/ingest method: post operationId: createIngestJob 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: /jobs/ingest/{jobId} method: get operationId: getIngestJobInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jobs/ingest/{jobId} method: patch operationId: updateIngestJobState 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: /jobs/ingest/{jobId} method: delete operationId: deleteIngestJob 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: /jobs/ingest/{jobId}/batches method: put operationId: uploadIngestJobData 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: /jobs/ingest/{jobId}/successfulResults method: get operationId: getIngestJobSuccessfulResults x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jobs/ingest/{jobId}/failedResults method: get operationId: getIngestJobFailedResults x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jobs/ingest/{jobId}/unprocessedrecords method: get operationId: getIngestJobUnprocessedRecords x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jobs/query method: get operationId: listQueryJobs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jobs/query method: post operationId: createQueryJob 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: /jobs/query/{jobId} method: get operationId: getQueryJobInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jobs/query/{jobId} method: patch operationId: abortQueryJob 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: /jobs/query/{jobId} method: delete operationId: deleteQueryJob 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: /jobs/query/{jobId}/results method: get operationId: getQueryJobResults x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{changeEventName} method: get operationId: describeChangeEvent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{changeEventName}/describe method: get operationId: describeChangeEventFull x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{changeEventName}/eventSchema method: get operationId: getChangeEventSchema x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /event/eventSchema/{schemaId} method: get operationId: getEventSchemaById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /composite method: post operationId: executeCompositeRequest 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: /composite/batch method: post operationId: executeCompositeBatch 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: /composite/graph method: post operationId: executeCompositeGraph 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: /composite/tree/{sObjectName} method: post operationId: createSObjectTree 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: /composite/sobjects method: post operationId: createSObjectCollection 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: /composite/sobjects method: patch operationId: updateSObjectCollection 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: /composite/sobjects method: delete operationId: deleteSObjectCollection 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 method: get operationId: listCommunities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /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: /chatter/feeds/record/{recordId}/feed-elements method: get operationId: getRecordFeed x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chatter/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: /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: /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: /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: /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: /chatter/groups method: get operationId: listGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chatter/groups/{groupId} method: get operationId: getGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chatter/groups/{groupId}/members method: get operationId: getGroupMembers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chatter/users/me method: get operationId: getCurrentUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chatter/users/{userId} method: get operationId: getUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /files/users/me method: get operationId: getMyFiles 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: /sobjects/{eventApiName} method: get operationId: describePlatformEvent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{eventApiName} method: post operationId: publishPlatformEvent 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/{eventApiName}/describe method: get operationId: describePlatformEventFull x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{eventApiName}/eventSchema method: get operationId: getPlatformEventSchema x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /event/eventSchema/{schemaId} method: get operationId: getEventSchemaById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: / method: get operationId: listAvailableResources x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /limits method: get operationId: getOrgLimits x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects method: get operationId: listSObjects 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: /sobjects/{sObjectName}/{fieldName}/{fieldValue} method: get operationId: getSObjectRecordByExternalId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{sObjectName}/{fieldName}/{fieldValue} method: patch operationId: upsertSObjectRecordByExternalId 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/layouts method: get operationId: getSObjectLayouts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /composite/sobjects method: post operationId: createSObjectCollection 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: /composite/sobjects method: patch operationId: updateSObjectCollection 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: /composite/sobjects method: delete operationId: deleteSObjectCollection 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: executeSOQLQuery x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /queryAll method: get operationId: executeSOQLQueryAll x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /query/{queryLocator} method: get operationId: getNextQueryResults x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /search method: get operationId: executeSOSLSearch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /recent method: get operationId: getRecentlyViewedItems x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tabs method: get operationId: getTabs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /theme method: get operationId: getTheme x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /process/approvals method: get operationId: getProcessApprovals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /process/approvals method: post operationId: submitProcessApproval 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 method: get operationId: listToolingSObjects x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{sObjectName} method: get operationId: getToolingSObjectBasicInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{sObjectName} method: post operationId: createToolingSObjectRecord 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: describeToolingSObject x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{sObjectName}/{recordId} method: get operationId: getToolingSObjectRecord x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sobjects/{sObjectName}/{recordId} method: patch operationId: updateToolingSObjectRecord 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: deleteToolingSObjectRecord 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: executeToolingQuery x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /completions method: get operationId: getApexCompletions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /executeAnonymous method: get operationId: executeAnonymousApex x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /runTestsAsynchronous method: post operationId: runTestsAsync 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: /runTestsSynchronous method: post operationId: runTestsSync 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: 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: /record-ui/{recordIds} method: get operationId: getRecordUI x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - 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: /object-info/{objectApiName}/picklist-values/{recordTypeId} method: get operationId: getPicklistValues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /object-info/{objectApiName}/picklist-values/{recordTypeId}/{fieldApiName} method: get operationId: getPicklistValuesByField x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /list-ui/{listViewId} method: get operationId: getListViewRecords x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lookups/{objectApiName}/{fieldApiName}/{targetApiName} method: get operationId: lookupFieldSearch x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none