generated: '2026-07-15' method: generated source: openapi/facebook-graph-api.yaml, openapi/facebook-instagram-api.yaml, openapi/facebook-marketing-api.yaml, openapi/facebook-messenger-api.yaml, openapi/facebook-threads-api.yaml, openapi/facebook-whatsapp-api.yaml 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: 47 by_action_class: connected: 32 acting: 15 by_consequence: read: 32 write: 13 physical: 2 human_in_the_loop_required: 0 operations: - path: /me method: get operationId: getCurrentUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{user-id} method: get operationId: getUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{user-id}/feed method: get operationId: getUserFeed x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{user-id}/feed method: post operationId: createPost 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: /{page-id} method: get operationId: getPage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{page-id}/feed method: get operationId: getPageFeed x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{post-id} method: get operationId: getPost x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{post-id} method: delete operationId: deletePost 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: /{post-id}/comments method: get operationId: getPostComments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{post-id}/comments method: post operationId: createComment 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: /{user-id}/photos method: get operationId: getUserPhotos x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{photo-id} method: get operationId: getPhoto x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /debug_token method: get operationId: debugToken x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{ig-user-id} method: get operationId: getInstagramUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{ig-user-id}/media method: get operationId: listInstagramMedia x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{ig-user-id}/media method: post operationId: createInstagramMedia 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: /{ig-user-id}/media_publish method: post operationId: publishInstagramMedia 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-id}/comments method: get operationId: getInstagramComments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{ig-user-id}/insights method: get operationId: getInstagramInsights x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{ig-user-id}/tags method: get operationId: getInstagramTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id} method: get operationId: getAdAccount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id}/campaigns method: get operationId: listCampaigns x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id}/campaigns method: post operationId: createCampaign 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: /{campaign-id} method: get operationId: getCampaign x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id}/adsets method: get operationId: listAdSets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id}/adsets method: post operationId: createAdSet 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: /act_{ad-account-id}/ads method: get operationId: listAds x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id}/insights method: get operationId: getAccountInsights x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id}/customaudiences method: get operationId: listCustomAudiences x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /act_{ad-account-id}/customaudiences method: post operationId: createCustomAudience 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: /{page-id}/messages method: post operationId: sendMessage x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{page-id}/messenger_profile method: get operationId: getMessengerProfile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{page-id}/messenger_profile method: post operationId: updateMessengerProfile 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: /{conversation-id} method: get operationId: getConversation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{page-id}/conversations method: get operationId: listConversations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{threads-user-id} method: get operationId: getThreadsUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{threads-user-id}/threads method: post operationId: createThreadsMedia 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: /{threads-user-id}/threads_publish method: post operationId: publishThreadsMedia 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: /{threads-media-id} method: get operationId: getThreadsMedia x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{threads-media-id}/replies method: get operationId: getThreadsReplies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{threads-user-id}/insights method: get operationId: getThreadsInsights x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{phone-number-id}/messages method: post operationId: sendWhatsAppMessage x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{phone-number-id}/media method: post operationId: uploadWhatsAppMedia 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: /{phone-number-id} method: get operationId: getWhatsAppPhoneNumber x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{waba-id}/message_templates method: get operationId: listMessageTemplates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{waba-id}/message_templates method: post operationId: createMessageTemplate 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: /{waba-id}/phone_numbers method: get operationId: listWhatsAppPhoneNumbers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none