Skip to main content
An advertiser creative collection is a named group of saved creatives that belongs to an advertiser rather than to a campaign. It is non-executable: it does not attach to a campaign, carry a role or sync policy, or deliver anything on its own. Use it to organise the advertiser’s library, for example a brand kit, an approved set, or a seasonal shelf. To make a collection’s creatives available to a campaign, attach the collection from that campaign with POST /api/v2/buyer/campaigns/{campaignId}/creative-collections/{collectionId}/attach. Campaign-scoped collections under /campaigns/{campaignId}/creative-collections keep their existing behaviour and are not described here.

Operations

All paths are under /api/v2/buyer/advertisers/{advertiserId}. The advertiser must belong to the authenticated customer; otherwise the request returns NOT_FOUND. Every response that changes a collection returns the collection as it stands after the change, read inside the same transaction, and member changes also return added_count or removed_count.

The revision check

Each collection carries updated_at. Update and member operations require you to send that value back as expected_updated_at. If the collection changed since you read it, the request returns 409 CONFLICT and nothing changes; read the collection again and retry with the new value. This keeps two people or agents from silently overwriting each other’s work.

Members

Members are saved creatives owned by the same advertiser. Every id in member_ids must name an active creative of that advertiser; if any id does not, the request returns 400 VALIDATION_ERROR and no members are added. Adding a creative that is already a member is a no-op, and removing an id that is not a member is a no-op that leaves updated_at unchanged. A creative can belong to a collection whether or not it is assigned to a campaign.

Clearing a description

Send "description": null on the update to clear it. Omitting description leaves it as it is.

From an agent

In the v3 tool surface the same operations are search and get with kind: "creative_collection" and an advertiserId, and save_creative_collection with advertiserId, the collectionId, and the returned updatedAt as expectedUpdatedAt. Advertiser writes accept name, description (null clears it), and one addMemberIds or removeMemberIds list per call. Campaign-only fields such as role, syncPolicy, and attachToCampaign are refused for advertiser collections.