Skip to main content
POST
Create campaign

Authorizations

Authorization
string
header
required

API key or access token

Body

application/json

Request body for creating a discovery-mode campaign

advertiserId
integer
required

Advertiser ID that will own this campaign

Required range: 1 <= x <= 9007199254740991
Example:

12345

name
string
required

Name of the campaign

Required string length: 1 - 255
Example:

"Q1 2025 Campaign"

flightDates
object
required

Campaign flight dates

budget
object
required

Campaign budget configuration

mode
enum<string>
required

"I have a brief; find it for me" — platform-managed.

Available options:
discovery
brief
string

Natural language brief for product search context

Maximum string length: 5000
Example:

"Looking for premium video inventory targeting tech enthusiasts"

constraints
object

Campaign targeting constraints

storefrontIds
integer[]

Storefront IDs the campaign is limited to. When set, every discover_products run for this campaign auto-applies this filter — buyers do not need to resend it. Pass the IDs returned by list_storefronts. Highly encouraged so the campaign only sources inventory from sellers the buyer has chosen.

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

Attach an existing discovery session to the campaign

Minimum string length: 1
Example:

"abc123-def456-ghi789"

productIds
string[]

Product IDs to pre-select from the discovery session (requires discoveryId)

Example:
audienceConfig
object

Audience targeting and suppression configuration. On create, listed audiences are attached to the campaign.

performanceConfig
object

Performance optimization configuration

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

ID of a catalog (from the advertiser catalogs list) to attach to this campaign. Only one catalog may be attached per campaign.

Required range: 1 <= x <= 9007199254740991
Example:

42

pacingPeriods
object

Pacing schedule for the campaign. Defines time-based spend periods with varying intensity. In weight mode, budget is distributed proportionally by weighted days. In budget mode, explicit dollar amounts are set per period. Gaps between periods are treated as pauses (no spend). On execution, each product is split into one package per period with proportional budget.

utmConfig
object

UTM (Urchin Tracking Module) parameter configuration for this campaign. Overrides advertiser-level defaults for matching param keys.

dataDelivery
object

Campaign-scoped data-delivery configuration. Groups Data Delivery Outputs that override advertiser-scoped delivery for the same dataDeliveryType. Distinct from media-buy reporting fields elsewhere in the API.

frequencyCaps
object[]

Buyer-side frequency cap configs to apply to this campaign. Enforced by Scope3 across all publishers.

Response

Create 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).