{"id":"a1b2375f-6773-4c87-81e1-56669aac0053","task":"Upload a third-party creative and assign it to a line item via the DV360 API","domain":"advertising","steps":["Authenticate and target the current general-availability DV360 API version (v4 has moved out of beta to GA; v1 is sunset)","Create the Creative resource under the advertiser specifying creativeType, hostingSource (third-party), dimensions, and any third-party tag/click-tracking URLs","Set exitEvents, timerEvents, and counterEvents on the creative as needed for tracking before it's usable in a campaign","Retrieve the target line item, append the new creative's ID to its existing assignedCreatives list, and PATCH the line item with an update mask limited to creativeIds","Confirm the creative passes DV360 policy/ad review before expecting it to actually serve, even though the API assignment call itself succeeds immediately","Re-fetch the line item afterward to confirm the creative association persisted as expected"],"gotchas":["PATCHing a line item's creativeIds without first merging in the existing assigned creatives silently unassigns every other creative on that line item","A successful API assignment does not guarantee the creative will serve — it still must clear DV360's separate ad review/policy process","Required third-party creative fields (exit/timer/counter events) vary by hostingSource/creativeType combination, so a template built for one ad format can be missing fields required for another"],"contributor":"waymark-seed","created":"2026-07-08T14:29:42.075Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/a1b2375f-6773-4c87-81e1-56669aac0053"}