POST /api/v2/buyer/advertisers/{advertiserId}/catalogs/{catalogId}/activation-plan/preview
Builds the activation plan a transform would produce from the catalog’s current items — the campaign groups, creative-asset prompts, and seller-syndication targets — without materializing anything. Use it to check the fan-out before you execute. Pass save: true to persist the plan against the latest catalog version so a later refresh can activate it.
By default the plan is computed from the catalog’s active transform. Supply an ad hoc transform in the body to preview an unsaved one.
Request
curl
Parameters
Response
campaignGroups— one per distinctgroupByvalue, each carrying its derivedfieldValues,itemCount, memberitemIds, and resolvedbudget(ornull).creativeAssets— resolved prompts and cache keys (empty when the transform defines none). This leg is currently gated: it is not surfaced in the buyer UI and is not carried out on execute until brand identity is threaded into generation and output fans out per platform format.syndicationTargets— one entry per evaluated seller agent, each withadcpAgentId,shareStatus(ready/unsupported),deliveryMode,usesTransformedCatalog,requiresCreativeAssembly,creativeAgentId(ornull), and a human-readablereason.deliveryModeis one ofnative_catalog,native_creative_catalog,assembled_creative,third_party_creative_agent, orunsupported.
save is false, planId and createdAt are null (nothing is persisted). When save is true, they are populated.
Errors
400 VALIDATION_ERROR— no active transform exists and none was supplied in the body (“No active catalog transform found. Provide a transform in the request body or save one first.”).404 NOT_FOUND—advertiserIdorcatalogIddoes not exist or is not visible to the authenticated account.
Related
Save catalog transform
Define the fan-out rules
Execute activation
Materialize the plan into jobs
Refresh catalog
Pull the latest feed and re-activate
List catalogs
See synced catalogs