| groupid |
str |
Campaign tags / groups: comma-separated group ids ("0" = none). A JSON array is accepted. |
[optional] |
| display_options |
str |
Display options for the ad type (e.g. video roll position), comma-separated ids. |
[optional] |
| min_rank |
int |
Minimum ad zone quality rank (flat campaigns on networks that rank ad zones). Not the same as `priority`. |
[optional] |
| fx_rating |
int |
Fixed rating flag (advanced). |
[optional] |
| mail_campaign_budget |
bool |
ron/cpm: email the account when `total_budget` is reached. Where the network offers lifetime budgets. |
[optional] |
| use_dynamic_costs |
bool |
ron CPC/CPM (`selling_type` 0/1): let the bid rise automatically by up to `dynamic_costs_increase` percent. |
[optional] |
| dynamic_costs_increase |
int |
Maximum dynamic-cost increase in percent. |
[optional] |
| conversion_capping |
CampaignPanelFieldsConversionCapping |
|
[optional] |
| fix_cpa |
float |
ron/cpm CPA goal in main currency. After create only your account manager changes it, except on AdManager networks (a PATCH with a different value is a 422; the same value is a no-op). |
[optional] |
| fix_cpa_conv_types |
str |
Conversion type ids the CPA goal counts (empty = all). A JSON array is accepted. |
[optional] |
| booster |
bool |
ron CPA (`selling_type` 2): AdBooster, where the network licenses it. |
[optional] |
| booster_settings |
CampaignPanelFieldsBoosterSettings |
|
[optional] |
| default_bid_type |
int |
ron: smart bidding on (1) / off (0), for CPC or CPM where the network lets users switch it on. |
[optional] |
| sort_type |
int |
ron: ad sorting — 0 = eCPM, 1 = random, 2 = weighted. Any pay type (CPC/CPM: random or weighted skips smart-bid repricing). Not for offers. |
[optional] |
| as_failover |
bool |
ron (AdManager networks, not flat): serve only as failover. |
[optional] |
| day_parting |
CampaignPanelFieldsDayParting |
|
[optional] |
| screens |
CampaignPanelFieldsScreens |
|
[optional] |
| display_times |
str |
Legacy daily time windows (pipe-separated; overlaps merged). Superseded by `day_parting`. |
[optional] |
| display_days |
str |
Legacy weekday list ("0" = every day). Superseded by `day_parting`. |
[optional] |
| site_languages |
str |
Website language codes ("0" = all). A JSON array is accepted. |
[optional] |
| connection_types |
str |
Connection type ids ("0" = all). A JSON array is accepted. |
[optional] |
| carrier_ids |
str |
ron: mobile carrier ids ("0" = all); meaningful with `connection_types` = "2" and no IP pool. |
[optional] |
| rating_id |
int |
Content rating id, where the network uses ratings. |
[optional] |
| orientation |
str |
ron/cpm ad types 3 and 22. |
[optional] |
| site_mode |
int |
ron: 0 = RON (all sites), 1 = Premium sites (display only; may need a minimum balance). Read back with the admin-set `sites_locked`. |
[optional] |
| only_tagged_zones |
bool |
ron/cpm on AdManager networks: only run on ad zones sharing one of the campaign's groups. |
[optional] |
| skip_low_quality |
int |
ron/cpm (not flat): low-quality traffic 0 = accept, 1 = block, 2 = target only. |
[optional] |
| ip_whitelist |
str |
IP allow list, one entry per line (IPv4/IPv6, CIDR or `a |
b` ranges); each line is validated. A JSON array is accepted. |
| ip_blacklist |
str |
IP deny list, same syntax. An IP on both lists is blocked. |
[optional] |
| av_check |
CampaignPanelFieldsAvCheck |
|
[optional] |
| email_type |
int |
ron/rtb email ads (ad type 15): 0 = accept all, 1 = email only, 2 = non-email only. |
[optional] |
| use_subscription_age |
bool |
ron push ads (ad type 7). |
[optional] |
| subscription_age |
int |
|
[optional] |
| instant_impression |
bool |
ron video (ad type 4) on AdManager networks. |
[optional] |
| subid_list |
str |
ron/cpm (not flat): SubIDs to filter on, one per line or comma-separated (empty clears). Stored as the campaign's SubID filter. |
[optional] |
| subid_list_mode |
str |
|
[optional] |
| source_optimizer_ids |
str |
ron: your own active source optimizers, at most one per filter type; ids that are not yours are dropped. "0" detaches all. |
[optional] |
| wl_zone_ids |
str |
cpm: ad zone ids the campaign is pinned to (empty = all). |
[optional] |
| feed_id |
int |
ron ad types 3 / 22: one of your XML feeds (0 = none). |
[optional] |
| feed_settings |
CampaignPanelFieldsFeedSettings |
|
[optional] |
| priority |
ApiV1CampaignsTypePostRequestAllOfPriority |
|
[optional] |
| suggestions |
CampaignPanelFieldsSuggestions |
|
[optional] |
| hide_referrer |
bool |
ron/rtb on AdManager networks (options): JS redirect so the landing page sees the ad server as referrer. |
[optional] |
| log_conv_as_paid |
bool |
ron on AdManager networks where you own an SSP campaign (options): book spend as Traffic Cost and conversions as Paid. Defaults to true on new campaigns there. |
[optional] |
| about_settings |
CampaignPanelFieldsAboutSettings |
|
[optional] |
| use_live_feed |
bool |
ron video (ad type 4): live HLS feed, where the network offers it (not on AdNetwork networks). |
[optional] |
| live_feed_parent_id |
int |
One of your master-feed video campaigns (0 = this campaign is a master feed). |
[optional] |
| live_feed_settings |
Dict[str, object] |
{hls_provider, campaign, gender, resize_to, bid, desturl_macro, desturl_type, use_logo}. hls_provider: chaturbate, bongacams or camsoda; campaign: the provider's affiliate/campaign id (CamSoda: your affiliate id); gender: f, m, t or c; desturl_type (chat_room_url or chat_room_url_revshare) is Chaturbate only; desturl_macro fills the link's tracking slot (CamSoda: appended to the link as query text, e.g. sub_id={clickid}). |
[optional] |
| offer_type_id |
int |
ron offers (ad type 21). |
[optional] |
| description |
str |
ron offers (ad type 21): the offer description (stored on the offer's ad). |
[optional] |
| destination_url |
str |
ron offers (ad type 21): http(s) destination URL (include `{tracking}` for CPA offers). |
[optional] |
| preview_url |
str |
ron offers (ad type 21): http(s) preview URL. |
[optional] |
| rtb_network_id |
int |
rtb: an active RTB network of this tenant. Ignored when your account is locked to one network. |
[optional] |
| rtb_type |
str |
rtb protocol; json / xml only for ad types 7, 11, 15. |
[optional] |
| use_type |
int |
rtb: 0 = one `request_url`; 1 = a URL per zone in `zone_urls` (then `request_url` is optional). |
[optional] |
| zone_urls |
List[object] |
rtb URLs per zone (use_type 1). |
[optional] |
| bid_action |
int |
rtb OpenRTB auction: 1 = first price, 2 = second price. |
[optional] |
| use_qps |
bool |
|
[optional] |
| qps |
int |
|
[optional] |
| rtb_categories |
str |
rtb OpenRTB content categories. A JSON array is accepted. |
[optional] |
| use_api |
bool |
rtb: pull the partner's stats through its reporting API. |
[optional] |
| api_data |
Dict[str, object] |
rtb per-network stats-API credentials. |
[optional] |
| log_skipped |
bool |
rtb: log no-bid responses in the stats. |
[optional] |
| domain_mask |
CampaignPanelFieldsDomainMask |
|
[optional] |
| rtb_xml_markup |
bool |
rtb banner (ad type 2), stored as options.rtb.xml_markup: ask the bidder for XML ad markup. |
[optional] |
| name |
str |
|
|
| ad_type |
int |
Required for ron / cpm / rtb (not accepted for directdeal, whose ad type comes from the zone). See /campaigns/<type>/_schema for valid ids on this tenant. |
[optional] |
| daily_budget |
float |
|
[optional] |
| total_budget |
float |
|
[optional] |
| use_campaign_budget |
bool |
|
[optional] [default to False] |
| selling_type |
int |
Pay type: 0 = CPC, 1 = CPM, 2+ = action types (CPA, …). Must be one your account is offered for this ad type (flat and managed are never self-serve → 422). `rtb` campaigns get theirs from the ad type. Omit for the default. |
[optional] |
| use_daily_budget |
bool |
Enforce `daily_budget` as the per-day spend cap. When false the campaign has no daily spend cap. |
[optional] [default to False] |
| use_budget_spreading |
bool |
Spread the daily budget evenly over the day (ron, with `use_daily_budget=true`, where the tenant offers it). |
[optional] [default to False] |
| use_maxday_impressions |
bool |
Enable the daily impression limit — the campaign stops for the rest of the day after `maxday_impressions` impressions. |
[optional] [default to False] |
| maxday_impressions |
int |
Daily impression limit. Must be > 0 when `use_maxday_impressions` is true. |
[optional] |
| use_maxtotal_impressions |
bool |
Enable the lifetime impression cap (Limit Total Impressions) — the campaign stops for good once it has served `maxtotal_impressions` impressions in total. |
[optional] [default to False] |
| maxtotal_impressions |
int |
Lifetime impression cap: total impressions over the whole life of the campaign (not per day). Must be > 0 when `use_maxtotal_impressions` is true. |
[optional] |
| select_pct |
int |
Use Percentage (ron only): the share, in percent, of each ad zone's impressions this campaign takes. 0 = off. Refused (422) on flat or failover campaigns and on networks that do not offer it; listed in `_schema` where available. |
[optional] |
| use_start_date |
bool |
Only serve from `start_date` on. |
[optional] [default to False] |
| start_date |
date |
First serving day, YYYY-MM-DD. Required when `use_start_date` is true. |
[optional] |
| use_end_date |
bool |
Stop serving after `end_date`. |
[optional] [default to False] |
| end_date |
date |
Last serving day, YYYY-MM-DD. Required when `use_end_date` is true. |
[optional] |
| location_ids |
str |
Comma-separated ids: ad zone locations (banner, `GET /api/v1/lookups/adzone-locations`), link types (link ads, `GET /api/v1/lookups/link-types`) or reel types (reel ads, `GET /api/v1/lookups/reel-types`). |
[optional] |
| webview |
int |
In-app webview traffic: 0 = all, 1 = exclude webview, 2 = webview only. |
[optional] [default to 0] |
| adblock |
int |
Ad-blocker users: 0 = all, 1 = non ad-blocker users only, 2 = ad-blocker users only. |
[optional] [default to 0] |
| use_keywords |
bool |
Enable keyword targeting with `keywords`. |
[optional] [default to False] |
| keywords |
str |
Comma-separated keywords; with `use_keywords` on the campaign only serves on requests carrying at least one. Trimmed, lowercased and deduplicated on save. |
[optional] |
| languages |
str |
Comma-separated string of language ids (e.g. "1,2,5"). Use "0" or empty for all. |
[optional] |
| categories |
str |
Comma-separated string of category ids (e.g. "17,42"). Use "0" or empty for all. |
[optional] |
| main_catid |
int |
Primary category id (single integer). |
[optional] |
| device_type_ids |
str |
Comma-separated string of device-type ids from `GET /api/v1/lookups/device-types`. |
[optional] |
| browser_ids |
str |
Comma-separated string of browser ids from `GET /api/v1/lookups/browsers` (pass `?device_type_ids=…` to scope — browsers are stored per device type). |
[optional] |
| os_ids |
str |
Comma-separated string of OS ids from `GET /api/v1/lookups/operating-systems` (pass `?device_type_ids=…` to scope — OS visibility is per device type). |
[optional] |
| isp_ids |
str |
Comma-separated string of ISP ids. |
[optional] |
| site_types |
str |
Comma-separated string of site-type ids. |
[optional] |
| regions |
str |
Comma-separated string of region ids from `GET /api/v1/lookups/regions`. Format: `"id1,id2,id3"` — e.g. `"528006,840001,392013"` for three different cities. Always send the most specific (leaf) id you want. Do not also send any of its ancestor ids — the geo tree has five levels (continent → country → state / province → sub-region → city), and any ancestor in the list broadens targeting back up to that whole subtree and undoes your leaf pick. The server defensively trims any ancestor id whose descendant is also in the list, at any depth, but the cleanest contract is "send leaves only." Country codes are derived from these region ids server-side and exposed back via the `countries` field on GET responses — there is no separate `countries` input. To target a country, send its region id from /api/v1/lookups/regions. `"0"` or empty = all regions (no geo restriction). |
[optional] |
| use_capping |
bool |
|
[optional] |
| capping_hours |
int |
|
[optional] |
| capping_minutes |
int |
|
[optional] |
| capping_visitors |
int |
Impressions a visitor may see within the capping window (where the tenant offers multi-impression capping). |
[optional] [default to 1] |
| cap_type |
int |
Capping scope: 0 = cap on the campaign, 1 = cap per ad. |
[optional] [default to 0] |
| capping_type |
int |
Capping source level: 0 = ad zone, 1 = website, 2 = network (where the tenant offers capping types). |
[optional] [default to 0] |
| capping_level |
int |
Visitor identification for capping: 0 = IP + user agent, 1 = IP only (where the tenant offers capping levels). |
[optional] [default to 0] |
| domain_filter_id |
int |
|
[optional] |
| whitelist_id |
int |
|
[optional] |
| rt_include_id |
int |
|
[optional] |
| rt_exclude_id |
int |
|
[optional] |
| ip_pool_id |
int |
|
[optional] |
| fx_minprice |
float |
|
[optional] [default to 0] |
| is_paused |
bool |
Start paused (default) so you can attach ads first. A network can make new ron campaigns start active; sending this always wins. |
[optional] [default to True] |
| request_url |
str |
RTB bid endpoint URL — the exchange POSTs OpenRTB bid requests here. Required when `type=rtb` (must be an http(s) URL); ignored for other campaign types. |
[optional] |
| banner_size_ids |
ApiV1CampaignsTypePostRequestAllOfBannerSizeIds |
|
[optional] |
| bidruleset_id |
int |
Bid ruleset to attach for rule-driven bidding. > 0 binds the campaign to the referenced ruleset; 0 clears it. Requires `bidflows` right and a paytype that matches the ruleset (cpc/cpm). RON CPC/CPM only — RTB campaigns reject this field. See /bid-rulesets endpoints to manage rulesets. |
[optional] |