Skip to main content
PUT
Update campaign

Authorizations

Authorization
string
header
required

API key or access token

Path Parameters

id
string
required

Unique identifier for the campaign

Minimum string length: 1
Example:

"cmp_987654321"

Body

application/json
name
string

Updated campaign name

Required string length: 1 - 255
flightDates
object

Updated campaign flight dates

budget
object

Updated budget configuration (partial updates allowed)

brief
string

Updated campaign brief

Maximum string length: 5000
constraints
object

Updated targeting constraints

storefrontIds
integer[]

Updated storefront filter for the campaign. Pass an empty array to clear (no storefront limit). Subsequent product discovery runs against this campaign auto-apply the new filter.

Maximum array length: 50
Required range: 1 <= x <= 9007199254740991
Example:
discoveryId
string

Attach a discovery session to the campaign

Minimum string length: 1
audienceConfig
object

Audience targeting and suppression configuration. Use deleteMissing: true to replace the full audience set.

performanceConfig
object | null

Updated performance configuration. Pass null to clear an existing configuration; this is only valid for a campaign currently in performance mode.

optimizationApplyMode
enum<string>

Controls whether Scope3 AI model optimizations to media buys are applied automatically or require manual approval. If omitted, inherits the advertiser-level setting.

Available options:
AUTO,
MANUAL
catalogId
integer | null

Catalog ID to attach (or null to detach the current catalog)

Required range: 1 <= x <= 9007199254740991
mediaBuys
object[]

Media buy actions. Each entry targets a specific media buy by ID. Use action: "update" (default) to modify, "cancel" to cancel, or "delete" to archive.

pacingPeriods
object | null

Pacing schedule for the campaign. Set to null to remove pacing periods and revert to standard single-period behavior. Can only be modified on DRAFT campaigns.

utmConfig
object

UTM (Urchin Tracking Module) parameter configuration for this campaign. Use deleteMissing: true to replace; otherwise additive.

dataDelivery
object

Campaign-scoped data-delivery configuration. Groups Data Delivery Outputs that override advertiser-scoped delivery for the same dataDeliveryType. Omit to leave existing config untouched.

frequencyCaps
object[]

Buyer-side frequency cap configs for this campaign. When provided, replaces all existing non-archived caps for this campaign (pass an empty array to clear). Omit to leave existing caps untouched.

mode
any

Response

Update campaign

Response containing a single campaign

campaign
object
required

Campaign resource representation

warnings
string[]

Non-blocking advisories about the campaign. On create, includes a soft credit-limit warning when the budget already exceeds the org’s available Scope3 credit (the campaign is still created; the hard 402 gate fires at execute).