PUT /v3/campaign/template → campaignUpdate
Overview
| Property |
Value |
| REST endpoint |
PUT /v3/campaign/template |
| GraphQL operation |
campaignUpdate |
| Input type |
CampaignUpdateInput |
| Output type |
PayloadWithErrorsOfCampaign (data: Campaign, userErrors: [UserError!]) |
Multi-step operations
REST PUT /v3/campaign/template updates template-specific fields including publish and share settings. GraphQL campaignUpdate covers overlapping campaign fields only; template publish (IsTemplatePublished) and share type (ShareType) are read-only on Campaign—no update input fields exist for those in the current schema.
| REST field |
GraphQL coverage |
IsTemplatePublished |
Read via Campaign.isTemplatePublished—no update input |
ShareType |
Read via Campaign.templateShareType—no update input |
AdvertiserId |
Create-only |
| PartnerCostPercentageFee, PartnerCPMFee, PartnerCPCFee |
Create-only |
| Availability, FrequencySettings |
Create-only |
Input field mapping
Input type: CampaignUpdateInput
| REST field |
GraphQL field |
GraphQL type |
Required |
Notes |
AdvertiserId |
N/A |
N/A |
Optional |
Create-only |
CampaignId |
id |
String! |
Required |
N/A |
CampaignName |
name |
String |
Optional |
N/A |
Description |
description |
String |
Optional |
N/A |
PartnerCostPercentageFee |
N/A |
N/A |
Optional |
Create-only |
PartnerCPMFee |
N/A |
N/A |
Optional |
Create-only |
PartnerCPCFee |
N/A |
N/A |
Optional |
Create-only |
CampaignConversionReportingColumns |
campaignConversionReportingColumns |
[CampaignConversionReportingColumnInput!] |
Optional |
N/A |
Availability |
N/A |
N/A |
Optional |
Create-only |
FrequencySettings |
N/A |
N/A |
Optional |
Create-only |
PurchaseOrderNumber |
purchaseOrderNumber |
String |
Optional |
N/A |
TimeZone |
timeZone |
String |
Optional |
N/A |
IsTemplatePublished |
N/A |
N/A |
Optional |
Read on Campaign.isTemplatePublished; no update input |
ShareType |
N/A |
N/A |
Optional |
Read on Campaign.templateShareType; no update input |
Output field mapping
Output type: Campaign (returned as data on PayloadWithErrorsOfCampaign)
| REST response field |
GraphQL field |
GraphQL type |
Nullable |
Notes |
AdvertiserId |
advertiser.id |
String! |
Not nullable |
N/A |
CampaignId |
id |
ID! |
Not nullable |
N/A |
CampaignName |
name |
String! |
Not nullable |
N/A |
Description |
description |
String |
Nullable |
N/A |
PartnerCostPercentageFee |
partnerCostPercentageFee |
Decimal! |
Not nullable |
N/A |
PartnerCPMFee |
N/A |
N/A |
N/A |
Not currently available in GraphQL |
PartnerCPCFee |
N/A |
N/A |
N/A |
Not currently available in GraphQL |
CampaignConversionReportingColumns |
conversionReportingColumns |
ConversionReportingColumnsConnection |
Nullable |
Use nodes { … } |
Availability |
isArchived |
Boolean! |
Not nullable |
REST Available → false; REST Archived → true. Not Campaign.status (operational state: LIVE, PAUSED, ENDED, …) |
CtvTargetingAndAttribution |
N/A |
N/A |
N/A |
Not currently available in GraphQL |
CreatedAtUTC |
createdAtUtc |
DateTime! |
Not nullable |
N/A |
LastUpdatedAtUTC |
lastUpdatedAtUtc |
DateTime! |
Not nullable |
N/A |
FrequencySettings |
frequencySettings |
FrequencySettings! |
Not nullable |
N/A |
PurchaseOrderNumber |
purchaseOrderNumber |
String |
Nullable |
N/A |
TimeZone |
timeZone |
String! |
Not nullable |
N/A |
IsTemplatePublished |
isTemplatePublished |
Boolean |
Nullable |
N/A |
ShareType |
templateShareType |
ShareType |
Nullable |
N/A |
CurrentAndFutureAdditionalFeeCards |
passThroughFeeCards |
PassThroughFeeCardsConnection |
Nullable |
Use nodes { … } |
Code examples
REST example
PUT /v3/campaign/template HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
{
"CampaignId": "camp123",
"AdvertiserId": "adv456",
"CampaignName": "Updated Template",
"Description": "Template description"
}
GraphQL example
POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
mutation {
campaignUpdate(
input: {
id: "camp123"
name: "Updated Template"
description: "Template description"
}
) {
data {
id
name
description
isTemplatePublished
templateShareType
}
userErrors {
message
field
}
}
}