PUT /v3/creative → creativeUpdate

Overview

Property Value
REST endpoint PUT /v3/creative
GraphQL operation creativeUpdate
Input type CreativeUpdateInput
Output type PayloadWithErrorsOfCreative (data: Creative, userErrors: [UserError!]!)

creativeUpdate uses format-specific *CreativeOptions inputs keyed by creativeId and advertiserId. The creative type cannot be changed after creation—update the matching *CreativeOptions for the existing type.

Input field mapping

Input type: CreativeUpdateInput

REST field GraphQL field GraphQL type Required Notes
AdvertiserId advertiserId String! Required N/A
CreativeId creativeId String! Required Required on update.
CreativeName name String Optional Max 256 characters.
Description description String Optional Max 512 characters.
CreativeType N/A N/A Optional Create-only
ImageAttributes hostedDisplayCreativeOptions HostedDisplayICreativeOptionsInput Optional Exactly one *CreativeOptions for the existing type.
FacebookAttributes N/A N/A Optional Deprecated on REST
FacebookPagePostAttributes N/A N/A Optional Deprecated on REST
FlashAttributes N/A N/A Optional Deprecated on REST
ThirdPartyTagAttributes thirdPartyDisplayCreativeOptions ThirdPartyDisplayICreativeOptionsInput Optional N/A
TradeDeskHostedAudioAttributes hostedAudioCreativeOptions HostedAudioICreativeOptionsInput Optional N/A
TradeDeskHostedVideoAttributes hostedVideoCreativeOptions HostedVideoICreativeOptionsInput Optional N/A
ThirdPartyHostedVideoAttributes thirdPartyVideoCreativeOptions ThirdPartyVideoICreativeOptionsInput Optional N/A
ThirdPartyHostedAudioAttributes thirdPartyAudioCreativeOptions ThirdPartyAudioICreativeOptionsInput Optional N/A
Html5Attributes hostedHtml5CreativeOptions HostedHtml5ICreativeOptionsInput Optional N/A
HostedNativeAttributes hostedNativeCreativeOptions HostedNativeICreativeOptionsInput Optional N/A
ThirdPartyNativeAttributes N/A N/A Optional Not currently available in GraphQL
HostedNativeWithThirdPartyVideoAttributes hostedNativeVideoCreativeOptions HostedNativeVideoICreativeOptionsInput Optional N/A
BroadcasterHostedVideo (read-only REST CreativeType) broadcasterHostedVideoCreativeOptions BroadcasterHostedVideoICreativeOptionsInput Optional GraphQL update path for broadcaster-hosted video creatives.
CreativeAuditStatuses N/A N/A Optional Create-only
FlightStartDateUTC flightStart DateTime Optional N/A
FlightEndDateUTC flightEnd DateTime Optional N/A
Availability N/A N/A Optional REST Archived maps to archive workflow; no direct field on CreativeUpdateInput.
CreatedAtUTC N/A N/A Optional Create-only
LastUpdatedAtUTC N/A N/A Optional Create-only
ShareLink N/A N/A Optional Create-only
WillThisBeServedInChina N/A N/A Optional No direct update field; set at create.
VioohReviewRequired N/A N/A Optional Format-specific update options.
VioohSelectedPublisher N/A N/A Optional N/A
UcfunnelReviewRequired N/A N/A Optional Not currently available in GraphQL
PoliticalDataId politicalDataId ID Optional N/A
DynamicCreativeRuleId thirdParty*CreativeOptions.dynamicCreativeRuleId String Optional On third-party format options.
MiaozhenMonitoringProduct N/A N/A Optional No direct update input; read on concrete types.

GraphQL-only input fields (no REST equivalent)

GraphQL field GraphQL type Description
adServerCreativeId String
flightTimeZoneIANA String
labels [String!]

Migration notes

Output field mapping

Output type: Creative (returned as data on PayloadWithErrorsOfCreative)

REST response field GraphQL field GraphQL type Nullable Notes
CreativeId data.id ID! Not nullable N/A
AdvertiserId data.advertiser.id ID! Not nullable N/A
CreativeName data.name String Nullable N/A
Description data.description String Nullable N/A
CreativeType data.type CreativeType! Not nullable N/A
ImageAttributes HostedDisplayCreative fragment N/A N/A Inline fragment on data.
ThirdPartyTagAttributes ThirdPartyDisplayCreative fragment N/A N/A N/A
TradeDeskHostedVideoAttributes HostedVideoCreative fragment N/A N/A N/A
TradeDeskHostedAudioAttributes HostedAudioCreative fragment N/A N/A N/A
ThirdPartyHostedVideoAttributes ThirdPartyVideoCreative fragment N/A N/A N/A
ThirdPartyHostedAudioAttributes ThirdPartyAudioCreative fragment N/A N/A N/A
Html5Attributes HostedHtml5Creative fragment N/A N/A N/A
HostedNativeAttributes HostedNativeCreative fragment N/A N/A N/A
ThirdPartyNativeAttributes ThirdPartyDisplayCreative fragment N/A N/A Not currently available in GraphQL
HostedNativeWithThirdPartyVideoAttributes HostedNativeVideoCreative fragment N/A N/A N/A
BroadcasterHostedVideo (REST CreativeType) BroadcasterHostedVideoCreative fragment N/A N/A Inline fragment on data.
FacebookAttributes N/A N/A N/A Deprecated on REST
FacebookPagePostAttributes N/A N/A N/A Deprecated on REST
FlashAttributes N/A N/A N/A Deprecated on REST
CreativeAuditStatuses data.auditStatuses AuditStatuses Nullable N/A
FlightStartDateUTC data.flightStart DateTime Nullable N/A
FlightEndDateUTC data.flightEnd DateTime Nullable N/A
Availability data.isArchived Boolean! Not nullable N/A
CreatedAtUTC data.createdAt DateTime! Not nullable N/A
LastUpdatedAtUTC data.lastUpdatedAt DateTime! Not nullable N/A
ShareLink data.shareLink String! Not nullable Read-only
WillThisBeServedInChina N/A N/A N/A Create-only
VioohReviewRequired N/A N/A N/A Not currently available in GraphQL
VioohSelectedPublisher N/A N/A N/A Not currently available in GraphQL
UcfunnelReviewRequired N/A N/A N/A Not currently available in GraphQL
PoliticalDataId data.politicalAdIcon.politicalDataId ID Nullable N/A
DynamicCreativeRuleId data.dynamicCreativeOptimizationRule.id ID Nullable N/A
MiaozhenMonitoringProduct enabledMiaozhenProduct on concrete types Byte! Not nullable On HostedAudioCreative, HostedDisplayCreative, and HostedVideoCreative.

Endpoint-specific nested types and enums

HostedDisplayICreativeOptionsInput (REST: ImageAttributes)

REST field GraphQL field GraphQL type Required Notes
ImageContent N/A N/A Optional Not currently available in GraphQL
ClickthroughUrl clickthroughUrl String Optional N/A
LandingPageUrl landingPageUrl String Optional N/A
ThirdPartyClickTrackingUrl thirdPartyClickTrackingUrl String Optional N/A
ThirdPartyImpressionTrackingUrl pixelImpressionTrackingUrl1 String Optional N/A
ThirdPartyImpressionTrackingUrl2 pixelImpressionTrackingUrl2 String Optional N/A
ThirdPartyImpressionTrackingUrl3 pixelImpressionTrackingUrl3 String Optional N/A
ThirdPartyTrackingTags thirdPartyTrackingTags [String!] Optional N/A
IsPauseAd isPauseAd Boolean Optional N/A

ThirdPartyDisplayICreativeOptionsInput (REST: ThirdPartyTagAttributes)

REST field GraphQL field GraphQL type Required Notes
AdTag adTag String Optional N/A
LandingPageUrls landingPageUrls [String!] Optional N/A
ThirdPartyImpressionTrackingUrl pixelImpressionTrackingUrl1 String Optional N/A
ThirdPartyTrackingTags thirdPartyTrackingTags [String!] Optional N/A

HostedVideoICreativeOptionsInput (REST: TradeDeskHostedVideoAttributes)

REST field GraphQL field GraphQL type Required Notes
ClickthroughUrl clickthroughUrl String Optional N/A
LandingPageUrl landingPageUrl String Optional N/A
Skippable isSkippable Boolean Optional N/A
SkipOffsetInSeconds skipOffsetInSeconds Int Optional N/A
CompanionCreativeIds companionCreativeIds [String!] Optional N/A
TrackingEvents playerTrackingEvents [TrackingEventInput!] Optional N/A
IsVideoRetargetingEnabled isRetargetingEnabled Boolean Optional N/A
ThirdPartyClickTrackingUrl thirdPartyClickTrackingUrl String Optional N/A
UniversalAdId universalAdId UniversalAdIdInput Optional N/A

HostedAudioICreativeOptionsInput (REST: TradeDeskHostedAudioAttributes)

REST field GraphQL field GraphQL type Required Notes
ClickthroughUrl clickthroughUrl String Optional N/A
LandingPageUrl landingPageUrl String Optional N/A
CompanionCreativeIds companionCreativeIds [String!] Optional N/A
TrackingEvents trackingEvents [TrackingEventInput!] Optional N/A
IsAudioRetargetingEnabled isRetargetingEnabled Boolean Optional N/A

ThirdPartyVideoICreativeOptionsInput / ThirdPartyAudioICreativeOptionsInput

REST field GraphQL field GraphQL type Required Notes
VastTagUrl / VastOrDaastTagUrl vastXmlUrl / vastOrDaastUrl String Optional Video vs audio option type.
LandingPageUrl landingPageUrl String Optional N/A
DynamicCreativeRuleId dynamicCreativeRuleId String Optional N/A
TrackingEvents playerTrackingEvents [TrackingEventInput!] Optional N/A

HostedHtml5ICreativeOptionsInput (REST: html5Attributes)

REST field GraphQL field GraphQL type Required Notes
ZipFileContent / asset upload N/A N/A Optional Rejected on REST update; asset URL changes use platform workflows.
BackupImageContent N/A N/A Optional Rejected on REST update.
ClickthroughUrl clickthroughUrl String Optional N/A
ClickTrackingParamName clickTrackingParameterName String Optional N/A
WidthInPixels N/A N/A Optional Read-only
HeightInPixels N/A N/A Optional Read-only
LandingPageUrls landingPageUrls [String!] Optional N/A
UseClickthroughAsDefault useClickthroughAsDefault Boolean Optional N/A
ThirdPartyImpressionTrackingUrl pixelImpressionTrackingUrl1 String Optional N/A
ThirdPartyImpressionTrackingUrl2 pixelImpressionTrackingUrl2 String Optional N/A
ThirdPartyImpressionTrackingUrl3 pixelImpressionTrackingUrl3 String Optional N/A
ThirdPartyTrackingTags thirdPartyTrackingTags [String!] Optional N/A
IsSecurable isSecurable Boolean Optional N/A

HostedNativeICreativeOptionsInput (REST: HostedNativeAttributes)

REST field GraphQL field GraphQL type Required Notes
AdServerName N/A N/A Optional No field on update input.
AdServerCreativeId N/A N/A Optional N/A
LandingPageUrl landingPageUrl String Optional N/A
ClickThroughUrl clickthroughUrl String Optional N/A
ThirdPartyImpressionTrackingUrl pixelImpressionTrackingUrl1 String Optional N/A
ThirdPartyImpressionTrackingUrl2 pixelImpressionTrackingUrl2 String Optional N/A
ThirdPartyImpressionTrackingUrl3 pixelImpressionTrackingUrl3 String Optional N/A
ThirdPartyImpressionTrackingUrl4 pixelImpressionTrackingUrl4 String Optional N/A
TextAssets shortTitle / longTitle / sponsor / callToAction / price / shortDescription / longDescription String Optional GraphQL flattens TextAssets[] by TextAssetType.
ImageAssets N/A N/A Optional Image asset changes rejected on REST update.
DecimalAssets rating Decimal Optional N/A
VideoAsset N/A N/A Optional Use hostedNativeVideoCreativeOptions for hosted native video creatives.
ThirdPartyTrackingTags thirdPartyTrackingTags [String!] Optional N/A
IsPlayerRetargetingEnabled N/A N/A Optional Use hostedNativeVideoCreativeOptions.isRetargetingEnabled for hosted native video.

HostedNativeVideoICreativeOptionsInput (REST: HostedNativeWithThirdPartyVideoAttributes)

REST field GraphQL field GraphQL type Required Notes
LandingPageUrl landingPageUrl String Optional N/A
ClickThroughUrl clickthroughUrl String Optional N/A
TextAssets shortTitle / longTitle / sponsor / callToAction / price / shortDescription / longDescription String Optional N/A
DecimalAssets rating Decimal Optional N/A
ThirdPartyImpressionTrackingUrl pixelImpressionTrackingUrl1 String Optional N/A
ThirdPartyImpressionTrackingUrl2 pixelImpressionTrackingUrl2 String Optional N/A
ThirdPartyImpressionTrackingUrl3 pixelImpressionTrackingUrl3 String Optional N/A
ThirdPartyImpressionTrackingUrl4 pixelImpressionTrackingUrl4 String Optional N/A
TrackingEvents playerTrackingEvents [TrackingEventInput!] Optional See TrackingEventInput table below.
ThirdPartyTrackingTags thirdPartyTrackingTags [String!] Optional N/A
IsPlayerRetargetingEnabled isRetargetingEnabled Boolean Optional N/A
VideoVastUrl N/A N/A Optional REST-only for hosted native with third-party video.

BroadcasterHostedVideoICreativeOptionsInput (REST: BroadcasterHostedVideo)

REST field GraphQL field GraphQL type Required Notes
ClickthroughUrl clickthroughUrl String Optional N/A
LandingPageUrl landingPageUrl String Optional N/A
Skippable isSkippable Boolean Optional N/A
SkipOffsetInSeconds skipOffsetInSeconds Int Optional N/A
TrackingEvents playerTrackingEvents [TrackingEventInput!] Optional N/A
IsVideoRetargetingEnabled isRetargetingEnabled Boolean Optional N/A
UniversalAdId / UniversalAdIdRegistry universalAdId UniversalAdIdInput Optional N/A

TrackingEventInput (REST: VideoTrackingEvent)

REST field GraphQL field GraphQL type Required Notes
EventType type TrackingEventType! Required REST VideoTrackingEventType maps to TrackingEventType enum.
EventUrl url String! Required N/A

Code examples

REST example

PUT /v3/creative HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER

{
  "CreativeId": "cr-abc123",
  "AdvertiserId": "adv-abc123",
  "CreativeName": "My Banner Ad",
  "ImageAttributes": {
    "ClickthroughUrl": "https://example.com/click-updated"
  },
  "Availability": "Available"
}

GraphQL example

POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
mutation UpdateCreative($input: CreativeUpdateInput!) {
  creativeUpdate(input: $input) {
    data {
      id
      name
      lastUpdatedAt
      ... on HostedDisplayCreative {
        clickthroughUrl
      }
    }
    userErrors {
      message
      field
    }
  }
}

Variables:

{
  "input": {
    "creativeId": "cr-abc123",
    "advertiserId": "adv-abc123",
    "name": "My Banner Ad",
    "hostedDisplayCreativeOptions": {
      "clickthroughUrl": "https://example.com/click-updated"
    }
  }
}