generated: '2026-07-15' method: generated source: openapi/salesforce-marketing-cloud-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: 21 by_action_class: acting: 14 connected: 7 by_consequence: write: 13 read: 7 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /contacts/v1/contacts method: post operationId: createContacts 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: /contacts/v1/contacts/actions/search method: post operationId: searchContacts 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: /contacts/v1/contacts/{contactKey} method: get operationId: getContact x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /contacts/v1/contacts/{contactKey} method: patch operationId: updateContact 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: /contacts/v1/contacts/{contactKey} method: delete operationId: deleteContact 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: /contacts/v1/attributeSets method: get operationId: listAttributeSets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /interaction/v1/interactions method: get operationId: listJourneys x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /interaction/v1/interactions method: post operationId: createJourney 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: /interaction/v1/interactions/{id} method: get operationId: getJourney x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /interaction/v1/interactions/{id} method: put operationId: updateJourney 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: /interaction/v1/interactions/{id} method: delete operationId: deleteJourney 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: /interaction/v1/interactions/publishAsync/{id} method: post operationId: publishJourney 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: /interaction/v1/interactions/stop/{id} method: post operationId: stopJourney x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /interaction/v1/events method: post operationId: fireEntryEvent 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: /asset/v1/content/assets method: get operationId: listAssets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /asset/v1/content/assets method: post operationId: createAsset 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: /asset/v1/content/assets/{id} method: get operationId: getAsset x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /asset/v1/content/assets/{id} method: put operationId: updateAsset 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: /asset/v1/content/assets/{id} method: delete operationId: deleteAsset 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: /asset/v1/content/assets/query method: post operationId: queryAssets 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: /asset/v1/content/categories method: get operationId: listCategories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none