PUT /api/v2/buyer/campaigns/{campaignId}/creatives/{creativeId}
Updates manifest fields (name, brief, format) and manages assets — add new uploads, delete existing assets, reclassify types, or set the primary asset. Sent as multipart/form-data: a metadata JSON part plus files parts for any new_assets. Updates re-sync to media buys the creative is already on.
Request
Parameters
Themetadata JSON part carries (all optional — omit to preserve):
Form parts:
files=@<path> for each entry in new_assets.
Response
target_format_ids and frequencyCaps are list-replace, not merge — send the complete intended list.
Errors
400 VALIDATION_ERROR— anew_assetsentry with no matchingfilespart, adelete_asset_idsvalue not on the manifest, orprimary_asset_idpointing at an ineligible asset type.404 NOT_FOUND—campaignIdorcreativeIddoes not exist or is not visible to the authenticated account.
Related
Creative overview
Asset types and propagation
Get creative manifest
Read the manifest before editing
Delete creative manifest
Remove the manifest