generated: '2026-07-15' method: generated source: openapi/canto-pim-openapi.json 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: 75 by_action_class: connected: 25 acting: 50 by_consequence: read: 25 write: 50 human_in_the_loop_required: 0 operations: - path: /dimensions method: get operationId: get_api_v1_dimensions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dimensions method: post operationId: post_api_v1_dimensions 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: /dimensions/{id} method: get operationId: get_api_v1_dimensions_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dimensions/{id} method: put operationId: put_api_v1_dimensions_id 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: /dimensions/{id} method: patch operationId: patch_api_v1_dimensions_id 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: /import_settings method: post operationId: post_api_v1_import_settings 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: /imports method: post operationId: post_api_v1_imports 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: /product_catalogs method: get operationId: get_api_v1_product_catalogs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_catalogs method: post operationId: post_api_v1_product_catalogs 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: /product_catalogs/{id} method: get operationId: get_api_v1_product_catalogs_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_catalogs/{id} method: put operationId: put_api_v1_product_catalogs_id 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: /product_catalogs/{id} method: delete operationId: delete_api_v1_product_catalogs_id 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: /product_catalogs/{id} method: patch operationId: patch_api_v1_product_catalogs_id 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: /product_channel_templates method: get operationId: get_api_v1_product_channel_templates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_channel_templates method: post operationId: post_api_v1_product_channel_templates 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: /product_channel_templates/{product_channel_template_id} method: get operationId: get_api_v1_product_channel_templates_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_channel_templates/{product_channel_template_id} method: put operationId: put_api_v1_product_channel_templates_id 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: /product_channel_templates/{product_channel_template_id} method: delete operationId: delete_api_v1_product_channel_templates_id 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: /product_channel_templates/{product_channel_template_id}/products method: get operationId: get_api_v1_product_channel_templates_product_channel_template_id_products x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_channel_templates/{product_channel_template_id}/products method: post operationId: post_api_v1_product_channel_templates_product_channel_template_id_products 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: /product_channel_templates/{product_channel_template_id}/products/{id} method: get operationId: get_api_v1_product_channel_templates_product_channel_template_id_products_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_channel_templates/{product_channel_template_id}/products/{id} method: delete operationId: delete_api_v1_product_channel_templates_product_channel_template_id_products_id 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: /product_channel_templates/{product_channel_template_id}/export method: post operationId: post_api_v1_product_channel_templates_product_channel_template_id_export 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: /bulk/products/channel_templates method: post operationId: post_api_v1_bulk_products_channel_templates 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: /bulk/products/product_catalogs method: post operationId: post_api_v1_bulk_products_catalogs 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: /product_categories method: get operationId: get_api_v1_product_categories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_categories/{id} method: get operationId: get_api_v1_product_categories_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_custom_attributes method: get operationId: get_api_v1_product_custom_attributes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_custom_attributes method: post operationId: post_api_v1_product_custom_attributes 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: /product_custom_attributes/{id} method: get operationId: get_api_v1_product_custom_attributes_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_custom_attributes/{id} method: put operationId: put_api_v1_product_custom_attributes_id 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: /product_custom_attributes/{id} method: patch operationId: patch_api_v1_product_custom_attributes_id 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: /product_share_links method: get operationId: get_api_v1_product_share_links x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_share_links method: post operationId: post_api_v1_product_share_links 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: /product_share_links/{id} method: get operationId: get_api_v1_product_share_links_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_share_links/{id} method: delete operationId: delete_api_v1_product_share_links_id 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: /product_types method: get operationId: get_api_v1_product_types x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_types method: post operationId: post_api_v1_product_types 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: /product_types/{id} method: get operationId: get_api_v1_product_types_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_types/{id} method: put operationId: put_api_v1_product_types_id 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: /product_types/{id} method: patch operationId: patch_api_v1_product_types_id 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: /products method: get operationId: get_api_v1_products x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /products method: post operationId: post_api_v1_products 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: /products/{id} method: get operationId: get_api_v1_products_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /products/{id} method: put operationId: put_api_v1_products_id 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: /products/{id} method: delete operationId: delete_api_v1_products_id 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: /products/{id} method: patch operationId: patch_api_v1_products_id 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: /products/{product_id}/variants method: get operationId: get_api_v1_products_product_id_variants x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /products/{product_id}/variants method: post operationId: post_api_v1_products_product_id_variants 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: /products/{product_id}/variants/{id} method: get operationId: get_api_v1_products_product_id_variants_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /products/{product_id}/variants/{id} method: put operationId: put_api_v1_products_product_id_variants_id 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: /products/{product_id}/variants/{id} method: delete operationId: delete_api_v1_products_product_id_variants_id 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: /products/{product_id}/variants/{id} method: patch operationId: patch_api_v1_products_product_id_variants_id 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: /webhooks/{webhook_id}/events method: get operationId: get_api_v1_webhooks_webhook_id_events x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhooks/{webhook_id}/events/purge method: delete operationId: delete_api_v1_webhooks_webhook_id_events_purge 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: /webhooks method: get operationId: get_api_v1_webhooks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhooks method: post operationId: post_api_v1_webhooks 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: /webhooks/{id} method: get operationId: get_api_v1_webhooks_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhooks/{id} method: put operationId: put_api_v1_webhooks_id 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: /webhooks/{id} method: delete operationId: delete_api_v1_webhooks_id 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: /webhooks/{id} method: patch operationId: patch_api_v1_webhooks_id 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: /dimensions/{dimension_id}/options/{id} method: put operationId: put_api_v1_dimensions_dimension_id_options_id 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: /dimensions/{dimension_id}/options/{id} method: patch operationId: patch_api_v1_dimensions_dimension_id_options_id 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: /dimensions/{dimension_id}/options method: post operationId: post_api_v1_dimensions_dimension_id_options 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: /product_attributes/filter method: post operationId: post_api_v1_product_attributes_filter 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: /product_catalogs/{product_catalog_id}/products method: get operationId: get_api_v1_product_catalogs_product_catalog_id_products x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_catalogs/{product_catalog_id}/products method: post operationId: post_api_v1_product_catalogs_product_catalog_id_products 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: /product_catalogs/{product_catalog_id}/products/{id} method: get operationId: get_api_v1_product_catalogs_product_catalog_id_products_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product_catalogs/{product_catalog_id}/products/{id} method: delete operationId: delete_api_v1_product_catalogs_product_catalog_id_products_id 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: /products/{product_id}/assets method: post operationId: post_api_v1_products_product_id_assets 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: /products/{product_id}/assets method: delete operationId: delete_api_v1_products_product_id_assets 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: /products/{product_id}/variants/{variant_id}/assets method: post operationId: post_api_v1_products_product_id_variants_variant_id_assets 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: /products/{product_id}/variants/{variant_id}/assets method: delete operationId: delete_api_v1_products_product_id_variants_variant_id_assets 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: /products/{product_id}/assets/{id} method: delete operationId: delete_api_v1_products_product_id_assets_id 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: /products/{product_id}/variants/{variant_id}/assets/{id} method: delete operationId: delete_api_v1_products_product_id_variants_variant_id_assets_id 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