generated: '2026-07-15' method: generated source: openapi/criteo-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: 33 by_action_class: acting: 16 connected: 17 by_consequence: write: 16 read: 17 human_in_the_loop_required: 0 operations: - path: /oauth2/token method: post operationId: getToken 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: /2026-01/retail-media/accounts method: get operationId: getAccounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/accounts/{accountId} method: get operationId: getAccount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/account-management/accounts/{accountId}/brands/add method: post operationId: addBrandsToAccount 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: /2026-01/retail-media/account-management/accounts/{accountId}/brands/remove method: post operationId: removeBrandsFromAccount 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: /2026-01/retail-media/accounts/{accountId}/campaigns method: get operationId: getCampaignsByAccount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/accounts/{accountId}/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: /2026-01/retail-media/campaigns/{campaignId} method: get operationId: getCampaign x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/campaigns/{campaignId} method: patch operationId: updateCampaign 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: /2026-01/retail-media/campaigns/{campaignId}/preferred-line-items method: get operationId: getPreferredLineItems x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/campaigns/{campaignId}/preferred-line-items method: post operationId: createPreferredLineItem 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: /2026-01/retail-media/campaigns/{campaignId}/auction-line-items method: get operationId: getAuctionLineItems x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/campaigns/{campaignId}/auction-line-items method: post operationId: createAuctionLineItem 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: /2026-01/retail-media/line-items/{lineItemId} method: get operationId: getLineItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/line-items/{lineItemId} method: patch operationId: updateLineItem 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: /2026-01/retail-media/line-items/{lineItemId}/products method: get operationId: getPromotedProducts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/line-items/{lineItemId}/products/append method: post operationId: addPromotedProducts 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: /2026-01/retail-media/line-items/{lineItemId}/products/delete method: delete operationId: removePromotedProducts 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: /2026-01/retail-media/line-items/{lineItemId}/keywords method: get operationId: getKeywords x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/line-items/{lineItemId}/keywords/add-remove method: post operationId: bulkKeywords 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: /2026-01/retail-media/accounts/{accountId}/balances method: get operationId: getBalances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/accounts/{accountId}/balances method: post operationId: createBalance 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: /2026-01/retail-media/balances/{balanceId}/campaigns method: get operationId: getCampaignsByBalance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/reports/campaigns method: post operationId: createCampaignsReport 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: /2026-01/retail-media/reports/line-items method: post operationId: createLineItemsReport 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: /2026-01/retail-media/reports/{reportId}/status method: get operationId: getReportStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/reports/{reportId}/output method: get operationId: getReportOutput x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/accounts/{accountId}/catalogs method: post operationId: createCatalog 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: /2026-01/retail-media/catalogs/{catalogId}/status method: get operationId: getCatalogStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/catalogs/{catalogId}/output method: get operationId: getCatalogOutput x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/categories method: get operationId: searchCategories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /2026-01/retail-media/accounts/{accountId}/audience-segments/create method: post operationId: createAudienceSegment 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: /2026-01/retail-media/accounts/{accountId}/audience-segments/search method: get operationId: searchAudienceSegments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none