generated: '2026-08-13' method: generated source: openapi/push-cendyn-crm-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: 67 by_action_class: connected: 26 acting: 41 by_consequence: read: 26 write: 34 physical: 7 human_in_the_loop_required: 0 operations: - path: /v2/account/{account_id}/balance/current method: get operationId: currentBalanceAccount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /account/{account_id}/sync_data method: post operationId: createSyncData 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: /account/{account_id}/sync_data/{id} method: get operationId: showSyncData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/contact method: post operationId: createContact 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: /v2/account/{account_id}/contact method: get operationId: listContact x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/contact/bulk method: post operationId: createBulkContact 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: /v2/account/{account_id}/contact/bulk/{bulk_id} method: get operationId: getBulkContact x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/contact/{contact_id} method: get operationId: showContact x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/contact/{contact_id} method: put 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: /v2/account/{account_id}/contact/{contact_id} 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: /v2/account/{account_id}/contact/{contact_id}/email_validation method: get operationId: emailValidationContact x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/custom_fields method: post operationId: createContactCustomFields 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: /v2/account/{account_id}/custom_fields method: get operationId: listContactCustomFields x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/custom_fields/{custom_id} method: put operationId: updateContactCustomFields 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: /v2/account/{account_id}/custom_fields/{custom_id} method: delete operationId: deleteContactCustomFields 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: /v2/account/{account_id}/company method: post operationId: createCompany 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: /v2/account/{account_id}/company method: get operationId: listCompany x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/company/{company_id} method: get operationId: showCompany x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/company/{company_id} method: put operationId: updateCompany 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: /v2/account/{account_id}/company/{company_id} method: delete operationId: deleteCompany 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: /v2/account/{account_id}/company_custom_fields method: post operationId: createCompanyCustomFields 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: /v2/account/{account_id}/company_custom_fields method: get operationId: listCompanyCustomFields x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/company_custom_fields/{custom_id} method: put operationId: updateCompanyCustomFields 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: /v2/account/{account_id}/company_custom_fields/{custom_id} method: delete operationId: deleteCompanyCustomFields 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: /v2/account/{account_id}/campaigns/{campaign_id} method: get operationId: showCampaigns x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/campaigns method: get operationId: listCampaigns x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/campaigns/{campaign_id}/message/contact/{contact_id} method: get operationId: previewMessageCampaigns x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/products method: post operationId: createProduct 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: /v2/account/{account_id}/products method: get operationId: listProduct x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/products/{UUID} method: get operationId: showProduct x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/products/{UUID} method: put operationId: updateProduct 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: /v2/account/{account_id}/products/{UUID} method: delete operationId: deleteProduct 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: /v2/account/{account_id}/product_custom_fields method: post operationId: createProductCustomFields 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: /v2/account/{account_id}/product_custom_fields method: get operationId: listProductCustomFields x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/product_custom_fields/{product_custom_id} method: put operationId: updateProductCustomFields 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: /v2/account/{account_id}/product_custom_fields/{product_custom_id} method: delete operationId: deleteProductCustomFields 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: /v2/account/{account_id}/coupon_lists method: post operationId: createCouponLists 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: /v2/account/{account_id}/coupon_lists method: get operationId: listCouponLists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/coupon_lists/{coupon_list_id} method: get operationId: showCouponLists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/coupon_lists/{coupon_list_id} method: put operationId: updateCouponLists 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: /v2/account/{account_id}/coupon_lists/{coupon_list_id} method: delete operationId: deleteCouponLists 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: /v2/account/{account_id}/coupon_lists/redeem method: put operationId: redeemCouponLists 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: /v2/account/{account_id}/contact/{contact_id}/purchases method: post operationId: createPurchase 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: /v2/account/{account_id}/purchases/{purchase_id} method: put operationId: updatePurchase 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: /v2/account/{account_id}/purchases/{purchase_id} method: delete operationId: deletePurchase 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: /v2/account/{account_id}/purchases method: get operationId: listPurchase x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/purchases/delete_group method: delete operationId: deleteGroupPurchase 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: /v2/account/{account_id}/hotel_data/{uuid}/add_language method: put operationId: addLanguageHotelData 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: /v2/account/{account_id}/hotel_data method: post operationId: createHotelHotelData 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: /v2/account/{account_id}/hotel_data method: get operationId: listHotelData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/hotel_data/{uuid} method: delete operationId: deleteHotelData 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: /v2/account/{account_id}/hotel_data/{uuid} method: get operationId: showHotelData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/hotel_data/{uuid}/remove_language method: delete operationId: removeLanguageHotelData 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: /v2/account/{account_id}/hotel_data_custom_fields method: post operationId: createHotelDataCustomFields 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: /v2/account/{account_id}/hotel_data_custom_fields method: get operationId: listHotelDataCustomFields x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/hotel_data_custom_fields/{custom_id} method: put operationId: updateHotelDataCustomFields 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: /v2/account/{account_id}/hotel_data_custom_fields/{custom_id} method: delete operationId: deleteHotelDataCustomFields 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: /v2/account/{account_id}/email/deliveries method: post operationId: sendEmailDeliveries 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: /v2/account/{account_id}/push/deliveries method: post operationId: sendPushDeliveries 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: /v2/account/{account_id}/sms/deliveries method: post operationId: sendSMSDeliveries 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: /v2/account/{account_id}/delivery/{delivery_id} method: get operationId: showDeliveries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/deliveries method: get operationId: listDeliveries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/lists method: post operationId: createAudienceList 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: /v2/account/{account_id}/lists method: get operationId: listAudienceList x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/lists/{id} method: get operationId: showAudienceList x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/account/{account_id}/lists/{id} method: put operationId: updateAudienceList 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: /v2/account/{account_id}/lists/{id} method: delete operationId: deleteAudienceList 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