Skip to main content
Omitted fields are filled server-side. Do not copy the full filters object from GET responses — only send what you need.

Create defaults

Still required (no default for the key itself): name, mode, pages, domain, alias, and in filters: geolocation, referer, query, domain, browser, browser_language, isp, os, user_agent, blacklist. Inside required objects you may omit nested defaults (e.g. send "domain": {}, "referer": { "block_null": true, "domains": [] }). To target a single ad network, send only that network as true (e.g. "facebook": true). All other networks default to false.

Pages / offers business rules

Returns 422 if violated:

Minimal example

Production-safe body with only non-default values:
Omitted here (defaults apply): active, all other ad networks, deny_always (false), bots, proxy, adspy, cloakup_ai, state, city, network_type, device, and every allow / remove_params flag.
For test/review mode only, set "deny_always": true. See Production safety.

Update (PUT)

PUT /v1/campaigns/:id uses the same full body as create. This is not a partial PATCH — send the complete CampaignBody.