Campaign: REST → GraphQL migration guide

Quick reference table

REST endpoint GraphQL operation Notes
GET /v3/campaign/{campaignId} Query.campaign N/A
POST /v3/campaign/query/advertiser Advertiser.campaigns N/A
POST /v3/campaign/template/query/advertiser Advertiser.campaignTemplates N/A
GET /v3/campaign/name/{campaignId} Query.campaign Lightweight ID/name—no new fields
GET /v3/campaign/{campaignId}/metrics Query.campaign N/A
GET /v3/campaign/template/{campaignId} Query.campaign N/A
GET /v3/campaign/clone/status/{referenceId} Query.campaignCloneProgress N/A
GET /v3/campaign/bidlist/{campaignId} Campaign.associatedBidLists Associated bid lists—same fields as main campaign read
GET /v3/campaignflight/{campaignFlightId} Query.campaign Campaign flight by ID via parent campaign filter
POST /v3/campaign campaignCreate GraphQL create; flights required on input—requires additional mutations
PUT /v3/campaign campaignUpdate GraphQL update; budget/flights/bid lists require separate mutations
POST /v3/campaign/clone campaignClonesCreate Async clone job; track via campaignCloneProgress
POST /v3/campaign/bidlist campaignAssociateBidList Associate one bid list
DELETE /v3/campaign/bidlist campaignAssociateBidList Remove via bidListIdsToRemove
PUT /v3/campaign/bidlist campaignAssociateBidList Replace full bid list association set
POST /v3/campaign/buildcomplete — Not currently available in GraphQL
PUT /v3/campaign/template campaignUpdate Template fields; publish/share type read-only
POST /v3/campaign/template/clone campaignClonesCreate Clone campaign template async job
POST /v3/campaignflight campaignFlightCreate Create campaign flight
PUT /v3/campaignflight campaignFlightUpdate Update campaign flight
DELETE /v3/campaignflight/{campaignFlightId} campaignFlightDelete Delete campaign flight

Shared nested types and enums

CampaignFlight

Used on Campaign.flights and reachable via the campaign flight read endpoint.

REST field GraphQL field GraphQL type Nullable Notes
CampaignFlightId id ID! Not nullable Entity key.
CampaignId campaignId String Nullable Parent campaign reference.
StartDateInclusiveUTC startDateInclusiveUTC DateTime! Not nullable N/A
EndDateExclusiveUTC endDateExclusiveUTC DateTime Nullable N/A
BudgetInAdvertiserCurrency budgetInAdvertiserCurrency Decimal! Not nullable N/A
BudgetInImpressions budgetInImpressions Long Nullable N/A
DailyTargetInAdvertiserCurrency dailyTargetInAdvertiserCurrency Decimal Nullable N/A
DailyTargetInImpressions dailyTargetInImpressions Long Nullable N/A

AssociatedBidList (bid list association)

Used on Campaign.associatedBidLists (an AssociatedBidListsConnection) from both the main campaign read and the dedicated bid-list endpoint.

REST field GraphQL field GraphQL type Nullable Notes
BidListId bidList.id String! Not nullable N/A
IsEnabled isEnabled Boolean! Not nullable N/A
BidListSource bidList.source BidListSource! Not nullable N/A
BidListAdjustmentType bidList.adjustmentType BidListAdjustmentType! Not nullable N/A
BidListDimensions bidList.dimensions [BidListDimension!]! Not nullable N/A

ShareType

Used on Campaign.templateShareType for campaign templates.

REST value GraphQL enum value Notes
Advertiser ADVERTISER N/A
Partner PARTNER N/A
Global GLOBAL N/A
None NONE N/A