---
title: "Create a new Campaign."
method: POST
path: "/cm/v1/campaigns"
tags: ["Campaign"]
---

# Create a new Campaign.

`POST /cm/v1/campaigns`

Create a new Campaign.

## Query parameters

- `ad_account_id` string, required
- `product_id` string, required

## Request body

- MessagesCampaignInput
  - `campaign` DspCampaign, required — Campaign represents a single advertising Campaign.
    - `id` string — Unique identifier of the Campaign. Automatically set by server on creation.
    - `ad_account_id` string — ID of the AdAccount the Campaign belongs to.
    - `product_id` string — ID of the Product the Campaign belongs to.
    - `title` string, required — A descriptive name of the Campaign.
    - `description` string — An optional description of the Campaign.
    - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
    - `type` 'UNKNOWN_CAMPAIGN_TYPE' | 'GENERIC' | 'APP_USER_ACQUISITION' | 'APP_REENGAGEMENT' | 'WEBSITE_VISIT' | 'CTV_GENERIC' | 'CTV_APP_USER_ACQUISITION' | 'WEB_USER_ACQUISITION' | 'CTV_WEBSITE_VISIT' | 'WEB_RETARGETING', required — CampaignType represents the type of a Campaign. It captures the goal of the Campaign at a high level. This value is not part of the specification. - GENERIC: Campaign is for generic purpose (only for legacy Campaigns). - APP_USER_ACQUISITION: The goal of the Campaign is to drive app user acquisitions. - APP_REENGAGEMENT: The goal of the Campaign is to drive app reengagement. - WEBSITE_VISIT: The goal of the Campaign is to drive website visits. - CTV_GENERIC: Campaign is for the general CTV ad. - CTV_APP_USER_ACQUISITION: Campaign is for the mobile app install CTV ad. - WEB_USER_ACQUISITION: The goal of the Campaign is to drive web user acquisitions. Originally, this was used for APP to WEB user acquisition. However, it is now also used for WEB to WEB user acquisition. - CTV_WEBSITE_VISIT: Campaign is for the website visit CTV ad. - WEB_RETARGETING: The goal of the Campaign is to drive web retargeting. Currently, this is used for WEB to WEB retargeting.
    - `device_os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
    - `state` 'UNKNOWN_CAMPAIGN_STATE' | 'SUBMITTED' | 'READY' | 'UPCOMING' | 'ACTIVE' | 'PAUSED' | 'SUSPENDED' | 'COMPLETED' — CampaignState represents various states of a Campaign. This value is not part of the specification. - SUBMITTED: All the required data are entered and passed all the validation. It's eligible to be reviewed by Moloco for activation. - READY: Campaign is before schedule and internally ready but disabled. Will transit to PAUSED when it becomes on schdule. - UPCOMING: Campaign is before schedule and internally ready and disabled. Will transit to ACTIVE when it becomes on schdule. - ACTIVE: Campaign is on schedule and spending the budget. - PAUSED: Campaign is paused and not spending the budget. - SUSPENDED: Campaign activation is suspended by the system for the following reasons: - App has been found to be in violation of Moloco's creative policy. - COMPLETED: Campaign is completed but may still get attributions for some time.
    - `countries` string[], required — Countries in which this Campaign runs. The value format is ISO-3166-1 Alpha-3 using uppercase letters only, such as "KOR" or "USA". Note that the values for this field will be used to filter bid requests by country name.
    - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
    - `schedule` CommonTimeInterval, required — Interval with start and end timestamps in RFC3339 format.
      - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
      - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
    - `budget_schedule` DspBudgetSchedule — BudgetSchedule represents the AdAccount's plan for budget spending. Any change in this object takes effect immediately.
      - `daily_schedule` DspDailyBudgetSchedule
        - `daily_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `weekly_schedule` DspDayOfWeekBudgetSchedule — Budget for each day of the week; all 7-day budgets need be filled for use.
        - `monday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `tuesday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `wednesday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `thursday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `friday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `saturday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `sunday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `weekly_flexible_schedule` DspWeeklyFlexibleBudgetSchedule
        - `weekly_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
    - `tracking_company` 'UNKNOWN_TRACKING_COMPANY' | 'KOCHAVA' | 'ADJUST' | 'MAT' | 'MOLOCO_PIXEL' | 'APPSFLYER' | 'ADBRIX' | 'WEB' | 'GENERIC' | 'TRACKFNT' | 'AIRBRIDGE' | 'MOLOCO_E2E' | 'APSALAR' | 'BRANCH' | 'TENJIN' | 'SINGULAR' | 'ADBRIX_V2' | 'TRAFFICGUARD' | 'GAMELOFT' | 'SKADNETWORK' | 'MYTRACKER' | 'MOLOCO_RMP' | 'MOLOCO_PIXEL_V2' | 'JUSTTRACK' | 'SHOPEE' | 'KOCHAVA_FOR_PUBLISHER' | 'GAMESIGHT' | 'CAULY' | 'HASOFFER' | 'ADACTION' | 'CURATE' — Enumeration for tracking companies supported by Moloco Ads. - WEB: Unnamed trackers - AIRBRIDGE: Moloco's e2e tracker (test purpose only) - KOCHAVA_FOR_PUBLISHER: Kochava's CTV to web event dedicated tracking company.
    - `tracking_link_id` string — MMP specific impression and click TrackingLinks defined specifically for this Campaign. Campaign can be either WEB type or APP type. Required for APP type campaign, not allowed for WEB type Campaign.
    - `landing_url` string — The URL of the website that a Campaign wants to show to the audience. Required for web type Campaign.
    - `goal` DspCampaignGoal, required — CampaignGoal describes the details of goal of a Campaign.
      - `type` 'UNKNOWN_TYPE' | 'OPTIMIZE_NONE' | 'FIXED_CPM_FOR_APP_UA' | 'FIXED_CPM_FOR_APP_RE' | 'OPTIMIZE_CPI_FOR_APP_UA' | 'OPTIMIZE_CPA_FOR_APP_UA' | 'OPTIMIZE_CPC_FOR_APP_UA' | 'OPTIMIZE_ROAS_FOR_APP_UA' | 'OPTIMIZE_ROAS_FOR_APP_RE' | 'OPTIMIZE_CPC_FOR_APP_RE' | 'OPTIMIZE_CPC_FOR_WEB_VISIT' | 'OPTIMIZE_APP_INSTALLS' | 'OPTIMIZE_APP_ROAS' | 'OPTIMIZE_CLICKS_TO_WEB' | 'OPTIMIZE_CLICKS_TO_APP' | 'OPTIMIZE_CPA_FOR_APP_RE' | 'OPTIMIZE_RETENTION_FOR_APP_UA' | 'OPTIMIZE_REATTRIBUTION_FOR_APP' | 'OPTIMIZE_CPA_REPEATED_FOR_APP_UA' | 'FIXED_CPM_GENERIC' | 'FIXED_CPM_FOR_CTV' | 'FIXED_CPM_FOR_WEB_VISIT' | 'OPTIMIZE_LANDING_FOR_WEB_UA' | 'OPTIMIZE_CPA_FOR_WEB_UA', required — Type enumerates available Campaign goal types. Corresponding details to the type must be specified. - OPTIMIZE_NONE: Goal type for the Campaigns which do not use any of pricing engines. - FIXED_CPM_FOR_APP_UA: Goal type for the UA Campaigns which do not use any of pricing engines. - FIXED_CPM_FOR_APP_RE: Goal type for the RE Campaigns which do not use any of pricing engines. - OPTIMIZE_CPI_FOR_APP_UA: Aim to drive app installs while satisfying the long-term cost per install. - OPTIMIZE_CPA_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per (certain) action. - OPTIMIZE_CPC_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per click. - OPTIMIZE_ROAS_FOR_APP_UA: Aim to drive app installs while satisfying long-term return on advertising spend (ROAS). - OPTIMIZE_ROAS_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term return on advertising spend (ROAS). - OPTIMIZE_CPC_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term cost per click. - OPTIMIZE_CPC_FOR_WEB_VISIT: Aim to drive the web-site visit while satisfying long-term cost per click. - OPTIMIZE_APP_INSTALLS: Deprecated. Aim to drive app installs while satisfying long-term cost per install. - OPTIMIZE_APP_ROAS: Deprecated. Aim to drive certain in-app actions while satisfying long-term return on advertising spend (ROAS). - OPTIMIZE_CLICKS_TO_WEB: Deprecated. Aim to drive clicks for web-site Product while satisfying long-term cost per click. - OPTIMIZE_CLICKS_TO_APP: Deprecated. Aim to drive clicks for web-site Product while satisfying long-term cost per click. - OPTIMIZE_CPA_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term cost per (certain) action. - OPTIMIZE_RETENTION_FOR_APP_UA: Aim to drive the user retention. - OPTIMIZE_REATTRIBUTION_FOR_APP: Aim to drive user's app reattribution. - OPTIMIZE_CPA_REPEATED_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per (certain) action - repeated count. - FIXED_CPM_GENERIC: Default goal type for generic fixed-cpm. Fixed cpm with budget-pacing option is given. - FIXED_CPM_FOR_CTV: Default goal type for CTV. Fixed cpm with budget-pacing option is given. - FIXED_CPM_FOR_WEB_VISIT: Goal type for the WEB_VISIT Campaigns which do not use any of pricing engines. - OPTIMIZE_LANDING_FOR_WEB_UA: Goal type for optimizing landing event for web user acquisition campaign. - OPTIMIZE_CPA_FOR_WEB_UA: Goal type for optimizing cost per action for web user acquisition campaign.
      - `optimize_app_installs` CampaignGoalOptimizeAppInstalls
        - `mode` 'UNKNOWN_MODE' | 'TARGET_CPI_CENTRIC' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC' | 'FIXED' — - FIXED: Read-only for AdCloud.
        - `target_cpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
      - `optimize_cpa_for_app_ua` CampaignGoalOptimizeCpaForAppUa — Detailed configuration of OPTIMIZE_CPA_FOR_APP_UA goal.
        - `action` string, required — In-app action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC' | 'TARGET_PRIMARY_KPI_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
        - `target_kpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `optimize_app_roas` CampaignGoalOptimizeAppRoas
        - `target_roas` number, double — Target return on advertising spend (ROAS) in percent. For example, a value 312.5 denotes 312.5% ROAS.
        - `revenue_actions` string[], required — In-app action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP. - ROAS computation will rely on the accompanied revenue value to each action.
        - `target_cpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC' | 'TARGET_PRIMARY_KPI_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
      - `optimize_clicks_to_web` CampaignGoalOptimizeClicksToWeb — Detailed configuration of OPTIMIZE_CPC_FOR_WEB_VISIT goal.
        - `target_cpc` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'TARGET_CPC_CENTRIC'
        - `rate` number, double — Budget-centric uses one ratio of daily budget for the autopilot to spend. It's only for DCPM. Required when the mode is BUDGET_CENTRIC. Its rate should be in (0, 2].
      - `optimize_clicks_to_app` CampaignGoalOptimizeClicksToApp — Detailed configuration of OPTIMIZE_CPC_FOR_APP_UA goal.
        - `target_cpc` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'TARGET_CPC_CENTRIC'
        - `rate` number, double — Budget-centric uses one ratio of daily budget for the autopilot to spend. It's only for DCPM. Required when the mode is BUDGET_CENTRIC. Its rate should be in (0, 2].
      - `optimize_roas_for_app_re` CampaignGoalOptimizeRoasForAppRe — Detailed configuration of OPTIMIZE_ROAS_FOR_APP_RE goal.
        - `target_roas` number, double — Target return on advertising spend (ROAS) in percent. For example, a value 312.5 denotes 312.5% ROAS.
        - `reengagement_action` string — Re-engagement action to measure re-engaging a user. This action is also used as a cohort base action.
        - `revenue_actions` string[], required — In-app action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP. - ROAS computation will rely on the accompanied revenue value to each action.
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `optimize_cpc_for_app_re` CampaignGoalOptimizeCpcForAppRe — Detailed configuration of OPTIMIZE_CPC_FOR_APP_RE goal.
        - `target_cpc` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `reengagement_action` string — Re-engagement action to measure re-engaging a user. This action is also used as a cohort base action.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'TARGET_CPC_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2]. Required when the mode is BUDGET_CENTRIC.
      - `optimize_fixed_cpm` CampaignGoalOptimizeFixedCpm — Detailed configuration of FIXED_CPM_* goal.
        - `target_cpm` AdcloudcommonMoney, required — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `optimize_cpa_for_app_re` CampaignGoalOptimizeCpaForAppRe — Detailed configuration of OPTIMIZE_CPA_FOR_APP_RE goal.
        - `action` string, required — In-app action events the AdAccount wants to optimize. Remarkable notes: - Case-sensitive as specified in the post-back from MMP.
        - `reengagement_action` string — Re-engagement action to measure re-engaging a user. This action is also used as a cohort base action.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
      - `optimize_app_retention` CampaignGoalOptimizeAppRetention — Detailed configuration of OPTIMIZE_RETENTION_FOR_APP_UA goal.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC'
        - `target_cpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC and target_cpi is unset. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
      - `optimize_app_reattribution` CampaignGoalOptimizeAppReattribution — Detailed configuration of OPTIMIZE_REATTRIBUTION_FOR_APP goal.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `optimize_cpa_repeated_for_app_ua` CampaignGoalOptimizeCpaRepeatedForAppUa — Detailed configuration of OPTIMIZE_CPA_REPEATED_FOR_APP_UA goal.
        - `action` string, required — In-app action events the AdAccount wants to optimize. Remarkable notes: - Case-sensitive as specified in the post-back from MMP.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
      - `optimize_fixed_cpm_pacing` CampaignGoalOptimizeFixedCpmPacing — General fixed-cpm goal with pacing option. Currently for FIXED_CPM_FOR_CTV and FIXED_CPM_GENERIC.
        - `target_cpm` AdcloudcommonMoney, required — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `pacing_mode` 'NONE' | 'BY_FREQUENCY' — Force pacing option.
        - `rate` number, double — Budget consume rate. The rate should be in (0, 2].
      - `optimize_landing_for_web_ua` CampaignGoalOptimizeLandingForWebUa
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `optimize_cpa_for_web_ua` CampaignGoalOptimizeCpaForWebUa
        - `action` string, required — Web action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP. Note(jiyeon): Currently, we optimize `install` events regardless of this action.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `kpi_actions` string[] — List of KPI actions.
    - `skadn_input` DspSKAdNetworkInput — SKAdNetworkInput represents various configurations w.r.t SKAdNetwork traffic. It's meaningful only for IOS. Use case in MCP: https://help.moloco.com/hc/en-us/articles/1500005837321-SKAdNetwork-Campaign-Settings.
      - `targeting_state` 'UNKNOWN_TARGETING_STATE' | 'TARGET_DO_NOT_CARE' | 'TARGET_ALL' | 'TARGET_SKADN_ONLY' | 'TARGET_NON_SKADN_ONLY' | 'TARGET_CUSTOM' — Enumeration of all supported targeting state w.r.t SKAdNetwork traffic. TARGET_ALL, TARGET_SKADN_ONLY, TARGET_NON_SKADN_ONLY is a predefined set of traffic. TARGET_CUSTOM is to support DIY configuration of traffic. This value is not part of the specification. - TARGET_DO_NOT_CARE: Do not care whether the Campaign targets SKAdNetwork traffic or not. - TARGET_ALL: Target all traffic including SKAdNetwork and others. It includes SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE. - TARGET_SKADN_ONLY: Target only SKAdNetwork traffic. It includes SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE. - TARGET_NON_SKADN_ONLY: Target only non-SKAdNetwork traffic. It includes SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE. - TARGET_CUSTOM: Target customized configuration traffic. When the targeting_state is set with this value, then custon_options should be also set.
      - `include_traffic_without_attributions` boolean — It adds SKAN_CUSTOM_OPTION_NON_ATTRIBUTABLE to target traffic. It is only effective when the targeting_state is 'TARGET_ALL' or 'TARGET_SKADN_ONLY'.
      - `custom_options` SKAdNetworkInputCustomOption[] — custom_options hold all the traffic the Campaign want to target. It is only effective when the targeting_state is 'TARGET_CUSTOM'.
      - `prefer_mmp_attribution` boolean — 1) targeting_state is TARGET_NON_SKADN_ONLY 2) targeting_state is TARGET_CUSTOM and custom_options is set exclusively to SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE. If true, the Campaign skips SKAN allocation.
    - `custom_key_values` object — Custom key/values managed by the Moloco Ads client platform. It's up to the client ads platform to define the schema for the values and their optionality. The keys are recommended, but not required, to be prefixed with the reversed internet domain of the AdCloud client platform company. For example, keys defined by the client ads platform company "example.com" should have "com.example." as the prefix. For complex values, JSON payload is recommended. Moloco doesn't interpret these data in any way for ads serving. Upon serving, the custom key/values in the AdAccount, Campaign, and Creative models will be combined into the serving Creative proto in the order of precedence, with Creative's value having the highest precedence on the same key.
    - `ad_tracking_allowance` 'UNKNOWN_AD_TRACKING_ALLOWANCE' | 'NON_LAT_ONLY' | 'LAT_ONLY' | 'DO_NOT_CARE' — AdTrackingAllowance represents targeting conditions regarding personalized ad tracking. This value is not part of the specification. - NON_LAT_ONLY: Campaign will bid only to the traffic with IDFA as usual Campaigns. - LAT_ONLY: Campaign will bid only to the traffic without IDFA. Limited Ad Tracking only. - DO_NOT_CARE: Campaign will not care whether it has an IDFA or not. Default as of now.
    - `is_deleted` boolean — True for deleted Campaign.
    - `auto_delete_at` string, date-time — Campaign in Paused or Finished state for specific time will be removed automatically. It represents when this will be deleted in UTC.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
    - `serving_status` CampaignServingStatus — ServingStatus stores current serving status of the campaign, such as whether it is blocked and when it is blocked.
      - `serving_blocked` boolean — serving_blocked is true when this campaign is blocked in the serving side for some reason.
      - `serving_blocked_timestamp` string, date-time — The timestamp of the latest serving block.
    - `launch_notices` CommonLaunchNotice[] — A list of notices that the user must review and acknowledge to enable the campaign. This field represents pending notices requiring user confirmation. The client should store these notices and include them in the subsequent request via the 'launch_notice_confirmations' field to prove that the user has seen them.
      - `type` 'UNKNOWN' | 'WARNING' | 'DISCLAIMER' — NoticeType defines the severity or category of the notice. - WARNING: Warning: Informational message that does not block the launch but requires attention. - DISCLAIMER: Disclaimer: Explicit agreement or acknowledgement is required from the user.
      - `message` 'UNKNOWN_MESSAGE' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_ADVANCED_PRIVACY_STATUS_ENABLED' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN' | 'CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H' — - UNKNOWN_MESSAGE: Default fallback for unrecognized message types. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: MMP Probabilistic Attribution (PA) is disabled. User should enable PA from MMP side. - MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: View-Through Probabilistic Attribution (VT PA) is disabled in MMP settings. - MMP_ADVANCED_PRIVACY_STATUS_ENABLED: Appsflyer Advanced Privacy is currently enabled. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN: The current status of Probabilistic Attribution cannot be determined. - CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H: The campaign is scheduled to pause in 48 hours if Advanced Privacy remains enabled.
    - `launch_notice_confirmations` CommonLaunchNotice[] — The list of launch notice that the user has explicitly reviewed and confirmed. The client must echo back the notices received in 'launch_notices' when enabling the campaign. The server validates these against the current system state to ensure all required acknowledgments are present. Starting from v1.10.0, any campaign enable request that does not include all 'DISCLAIMER' type notices received in 'launch_notices' will be rejected.
      - `type` 'UNKNOWN' | 'WARNING' | 'DISCLAIMER' — NoticeType defines the severity or category of the notice. - WARNING: Warning: Informational message that does not block the launch but requires attention. - DISCLAIMER: Disclaimer: Explicit agreement or acknowledgement is required from the user.
      - `message` 'UNKNOWN_MESSAGE' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_ADVANCED_PRIVACY_STATUS_ENABLED' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN' | 'CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H' — - UNKNOWN_MESSAGE: Default fallback for unrecognized message types. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: MMP Probabilistic Attribution (PA) is disabled. User should enable PA from MMP side. - MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: View-Through Probabilistic Attribution (VT PA) is disabled in MMP settings. - MMP_ADVANCED_PRIVACY_STATUS_ENABLED: Appsflyer Advanced Privacy is currently enabled. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN: The current status of Probabilistic Attribution cannot be determined. - CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H: The campaign is scheduled to pause in 48 hours if Advanced Privacy remains enabled.
  - `ad_group` DspAdGroup — AdGroup represents the seed information for a full AdGroup used by bidders.
    - `id` string — Unique identifier of the AdGroup. Automatically set by server on creation.
    - `title` string, required — A descriptive name of the AdGroup.
    - `campaign_id` string — ID of the Campaign the AdGroup belongs to.
    - `product_id` string — ID of the Product the AdGroup belongs to.
    - `ad_account_id` string — ID of the AdAccount the AdGroup belongs to.
    - `experiment_id` string — ID of the Experiment the AdGroup is involved in.
    - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
    - `audience` AdclouddspAudience — Audience is a final form of AudienceTargeting specification. It is represented by a list of IDs of SharedAudienceTargets and an ad-hoc target condition. All conditions in the audience specification must be met to accept a bid-request. IDs of the SharedAudienceTargets can be either at global or AdAccount level.
      - `shared_audience_target_ids` string[] — A list of IDs for the named AudienceTargets referenced by this audience specification.
      - `targeting_condition` DspAudienceTargetingCondition — AudienceTargetingCondition specifies conditions for AudienceTargeting. This condition object contains various filters on multiple dimensions of bid-request, app, and user. Advertisers can selectively configure desired filters to form a meaningful AudienceTarget condition collectively. The configured individual filters must be satisfied unanimously in order for the resulting collective condition to be satisfied. Only filters with values will be effective. When a filter condition accepts a list of values, i.e., list of countries for "allowed_countries", the filter condition will be met when any match is found among the list. String literals are case insensitive unless specified otherwise; i.e. "USA" and "usa" equally represents the United States of America.
        - `allowed_countries` string[] — Allowed countries in ISO_3166-1_alpha-3 format.
        - `blocked_countries` string[] — Blocked countries in ISO_3166-1_alpha-3 format.
        - `placement_reasons` AudienceTargetingConditionPlacementReason[]
        - `custom_placement_reason` string — The reason of the placement in free-form text.
        - `allowed_app_bundles` string[] — App bundles. A bid-request having a matching publisher app bundle from the list will be accepted. Example to target com.moloco.game or com.moloco.travel apps: "allowed_app_bundles": [ "com.moloco.game", "com.moloco.travel" ] Example to exclude com.moloco.office app: "blocked_app_bundles": [ "com.moloco.office" ]
        - `blocked_app_bundles` string[] — See the documentation for `allowed_app_bundles`.
        - `allowed_content_categories` string[] — Filter for allowed publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "allowed_content_categories": [ "IAB26-1" ]
        - `blocked_content_categories` string[] — Filter for blocked publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "blocked_content_categories": [ "IAB26-1" ]
        - `allowed_cities` string[] — Allowed cities. A bid-request will be accepted when there is at least one match from the city list. Note that each element must be in the form of "city, region" such as "Seattle, WA" in order to disambiguate the same city but different regions. The entry is case-insensitive and whitespace will be ignored. Example to target Seattle or Newyork: "allowed_cities": [ "Seattle, WA", "Newyork, ny" ]
        - `blocked_cities` string[] — Blocked cities.
        - `allowed_creative_types` AdcloudcommonCreativeType[] — Allowed Creative types.
        - `blocked_creative_types` AdcloudcommonCreativeType[] — Blocked Creative types.
        - `allowed_websites` string[] — Allowed websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "allowed_websites": [ "*youtube.com" ].
        - `blocked_websites` string[] — Blocked websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "blocked_websites": [ "*example.com" ].
        - `allowed_geofences` CommonCircle[] — Allowed geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `blocked_geofences` CommonCircle[] — Blocked geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `allowed_exchanges` CommonAdExchange[] — Allowed ad exchanges. Restricts targeting to bid only on the listed exchanges; an empty list places no restriction. MOLOCO_SDK is automatically included whenever the list is non-empty: submitting a non-empty list that omits MOLOCO_SDK will have it appended on the server side.
        - `blocked_exchanges` CommonAdExchange[] — Blocked ad exchanges. Excludes the listed exchanges from targeting. Adding MOLOCO_SDK to this list is rejected with PERMISSION_DENIED.
        - `allowed_idfas` string[] — Allowed user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `blocked_idfas` string[] — Blocked user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `allowed_zipcodes` string[] — Allowed zipcodes.
        - `blocked_zipcodes` string[] — Blocked zipcodes.
        - `allowed_device_models` string[] — Allowed device models. For example: "allowed_device_models": [ "KFFOWI", "KFGIWI", "KFTT", "KFJWA" ]
        - `blocked_device_models` string[] — Blocked device models.
        - `allowed_user_audience_tags` string[] — Allowed user custom audience tags.
        - `blocked_user_audience_tags` string[] — Blocked user custom audience tags.
        - `allowed_languages` string[] — Allowed languages. Languages in use mostly follow ISO 639-1 code(https://www.loc.gov/standards/iso639-2/php/code_list.php), e.g. "ko" for Korean and "en" for English.
        - `blocked_languages` string[] — Blocked languages.
        - `allowed_device_types` CommonDeviceType[] — Allowed device types. For example: "allowed_device_types": [ "HIGHEND_PHONE", "TABLET" ]
        - `blocked_device_types` CommonDeviceType[] — Blocked device types. For example: "allowed_device_types": [ "SET_TOP_BOX" ]
        - `allowed_mostly_visited_countries` string[] — This filter checks user's history of mostly visited countries against the specified countries in the condition, and passes a request if there is at least one common entry in both lists.
        - `blocked_mostly_visited_countries` string[]
        - `allowed_regions` string[] — Regions are to filter a bid-request based on its region information.
        - `blocked_regions` string[]
        - `allowed_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[] — Recent Campaign activities filter a bid-request by user's recent activity such as click or install in the last n days. The filter is satisfied if there is at least one satisfying condition among the list. Example to target a user who has a click event for com.moloco.gameapp: "allowed_recent_campaign_activities": [ { "campaign_id": "com.moloco.gameapp", "event": "CLICK" } ] Example to block a user who has a install event for com.moloco.officeapp within the past five days: "blocked_recent_campaign_activities": [ { "campaign_id": "com.moloco.officeapp", "event": "INSTALL", "last_n_days": 5 } ]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `blocked_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `allowed_locations` AudienceTargetingConditionLocationFilter[] — Location filter targets specific geo-locational audience using combined conditions of different types such as city, region, zipcode and geofence.
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `blocked_locations` AudienceTargetingConditionLocationFilter[]
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `genders` CommonGender[]
        - `connection_types` string[] — Connection_types include ETHERNET, WIFI, CELL_UNKNOWN, CELL_2G, CELL_3G, CELL_4G. For example: "connection_types": [ "WIFI", "CELL_4G" ]
        - `allowed_direct_deal_ids` string[] — IDs of the allowed direct deals. A bid-request is accepted only if there is at least one matching id. For example: "allowed_direct_deal_ids": [ "ip_9161499632014fe8b9ef60673a51b745", "ip_e13c0cb23dd54a8ea742b2af61e0712d", "ip_0cfeaebb190d47df8b86399232853e23" ]
        - `blocked_direct_deal_ids` string[] — IDs of the blocked direct deals.
        - `device_oses` AudienceTargetingConditionDeviceOsFilter[] — Device OS requirements if specified.
          - `os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
          - `min_version` string
          - `max_version` string
        - `media_channel_type` 'UNKNOWN_MEDIA_CHANNEL_TYPE' | 'APP' | 'WEB' — - UNKNOWN_MEDIA_CHANNEL_TYPE: This value is not part of the specification.
        - `new_users` AudienceTargetingConditionNewUserFilter — Filter to target new users only.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `advertiser_id_types` CommonAdvertiserIdType[] — Filter on advising ID types, including "ANDROID_IDFA" or "IOS_IDFA".
        - `allowed_video_types` DspAudienceTargetingConditionVideoType[] — Video type filter. Ignored when the bid request is not for video ads.
        - `blocked_video_types` DspAudienceTargetingConditionVideoType[]
        - `weekly_schedules` AudienceTargetingConditionWeeklyScheduleFilter[] — Weekly schedule specifies more fine-grained time range filtering for days of a week. For example, this list can be used to specify commute time ranges in the morning and evening on workdays. Example to target 7-9 am and 5-7 pm during week days: "weekly_schedules": [ { "hour_range": { "start": 7, "end": 9 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] }, { "hour_range": { "start": 17, "end": 19 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] } ] Example to target 10pm to 2am on Fridays and Saturdays: "weekly_schedules": [ { "range": { "start": 22, "end": 2 }, "days": [ "FRI", "SAT" ] } ]
          - `timezone_policy` 'UNKNOWN_TIME' | 'DEVICE_TIME' | 'UTC_TIME' | 'AD_ACCOUNT_TIME' | 'ADVERTISER_TIME' — TimezonePolicy defines the time configuration. - DEVICE_TIME: Time object is given in the device's time (depends on user device timezone). - UTC_TIME: Time object is given in the fixed UTC time (depends on nothing). - AD_ACCOUNT_TIME: Given time is given in fixed ad account time (depends on ad account timezone).
          - `hour_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `days` AdcloudcommonDayOfWeek[], required — Days of week to filter on. At least one is required.
        - `allowed_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `blocked_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `allowed_ages` AdcloudcommonInterval[] — Age is used to filter based on user's approximate age. A valid value must be in the exclusive range of (0, 100).
          - `start` integer
          - `end` integer
        - `blocked_ages` AdcloudcommonInterval[]
          - `start` integer
          - `end` integer
        - `allowed_ip_ranges` string[] — IP net based condition. The CIDR format must be used for an entry such as https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing. Note that both of IP v4 and v6 could be used at the same time. Example to block bid-requests with any IP within 32.76.52.0 - 32.76.52.255 or 127.0.0.0 - 127.255.255.255: "blocked_ip_ranges": [ "32.76.52.0/24", "127.0.0.0/8" ]
        - `blocked_ip_ranges` string[]
        - `allowed_device_carriers` string[] — Device carrier filter. Example to target SKT: "allowed_device_carriers": [ "SKTelecom" ] Example to exclude T-MOBILE and XFINITY Mobile "blocked_device_carriers": [ "T-MOBILE", "XFINITY Mobile" ]
        - `blocked_device_carriers` string[]
        - `allowed_keywords` string[] — Filter regarding 'keywords' field in a bid request. If specified, an ad request must have at least one of the allowed keywords to satisfy the filter.
        - `blocked_keywords` string[] — Filter regarding 'keywords' field in a bid request. An ad request must not have any of the blocked keywords to satisfy the filter.
        - `user_buckets` AdcloudcommonInterval[] — Filter for the user buckets.
          - `start` integer
          - `end` integer
        - `allowed_ad_units` string[] — // Target timetree_i_prod or timetree_a_prod ad_units "condition": { "allowed_ad_units": [ "timetree_i_prod", "timetree_a_prod" ] } // Exclude timetree_i_test ad_unit "condition": { "blocked_ad_units": [ "timetree_i_test" ] }
        - `blocked_ad_units` string[]
        - `allowed_placements` string[] — placement (a group of ad_units) names. It is untied to ad_units, and follow the ad_unit's filtering rule.
        - `blocked_placements` string[]
        - `allowed_banner_apis` CommonBannerApi[] — // Target MRAID_2 banner only "condition": { "allowed_banner_apis": [ "MRAID_2" ] }
        - `blocked_banner_apis` CommonBannerApi[]
        - `schedule` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `audience_data` CommonAudienceData — Audience Data. It is a filter based on AudienceData stored in UPT.
          - `provider` string
          - `condition` string
        - `allowed_apps_by_checksum` string[] — Allow apps by their checksum value.
        - `blocked_apps_by_checksum` string[] — Block apps by their checksum value.
        - `allowed_postback_event_counts` CommonPostbackEventCount[] — PostbackEventCount condition checks the number of specified events and accepts if there is one event that falls within given range of [start, end). In the example, User's event named "Transaction confirmation" must have been appeared 16 times or more to accept for zigbang app. Example: "condition": { "allowed_postback_event_counts": [ { "app_bundle": "com.chbreeze.jikbang4a", "range": { "start": 16, "end": 0 }, "events": [ "Transaction confirmation" ] } ] }
          - `app_bundle` string
          - `range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `events` string[]
        - `auction_types` string[] — Auction types including first price or second price auctions. Example: "condition": { "auction_types": [ "first", "second" ] }
        - `throttle_apt_tags` CommonTagsThrottleCondition — Tags Thrrottle Condition. It specifies a throttle rate for a list of tags. All the tags in a list will have same throttle rate.
          - `tags` string[]
          - `throttle_rate` number, float
        - `allowed_dev_makes` string[] — Allowed device make. Example: "condition":{ "allowed_dev_makes": [ "Apple" ] }
        - `blocked_dev_makes` string[] — Blocked device make. See the example of `allowed_dev_makes`.
        - `display_manager_versions` CommonDisplayManagerVersion[] — DisplayManager Version. Example: "condition": { "display_manager_versions": [ { "min": "1.2", "max": "4.5.6" } ] } // With minimum version requirement: "condition": { "display_manager_versions": [ { "min": "3.0" } ] } // With maximum version requirement: "condition": { "display_manager_versions": [ { "max": "5" } ] }
          - `min` string
          - `max` string
        - `allowed_audiences` string[] — Allowed audiences.
        - `blocked_audiences` string[] — Blocked audiences.
        - `allowed_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Postback event condition filter a bid-request by user's postback summary. Note that audience name and events are of case-sentitive string types. Each entry of allowed_postback_has_all_events_conditions will be satisfied when all listed events are found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_all_events_conditions will be satisfied when all listed events are not found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_postback_has_any_events_conditions` CommonPostbackEventsCondition[]
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_any_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_any_events_conditions will be satisfied when there is at least one event not matched by the condition from user's postback summary. See the documentation for `allowed_postback_has_any_events_conditions`.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `blocked_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `allowed_apt_tags` string[]
        - `blocked_apt_tags` string[]
        - `coppa_acceptance` 'UNKNOWN_COPPA' | 'ACCEPT_COPPA_ONLY' | 'DENY_COPPA' — Indicates whether to bid according to the COPPA(Children's Online Privacy Protection Act) value of BidRequest. - UNKNOWN_COPPA: Doesn't filter BidRequest according to the coppa value. - ACCEPT_COPPA_ONLY: Bids to BidRequest with coppa=1. - DENY_COPPA: Bids to BidRequest with coppa=0 or empty coppa field.
        - `skan_traffic` 'UNKNOWN_SKAN' | 'TARGET_SKAN_ONLY' | 'TARGET_NON_SKAN' — Indicates whether to bid according to bid requests that support SKAN(SKAdNetwork) or not. - UNKNOWN_SKAN: Doesn't filter BidRequest according to support skan or not in this filter. - TARGET_SKAN_ONLY: Bids only for skan support traffic. - TARGET_NON_SKAN: Bids only for non-skan traffic.
        - `contains_custom_audience` boolean — Whether it contains a `custom_audience` targeting condition. The `custom_audience` targeting condition is legacy, and may contain some internal information. Therefore, we do not reveal them by the API but only signals its non-emptiness with this field.
        - `custom_audience_set` AudienceTargetingConditionCustomAudienceSet — CustomAudienceSet represents a group of target users to whom we're going to show an ad. CustomAudienceSet is consist of a dynamic (not pre-determined) set of target users based on App-events described in the postback messages and pre-defined CustomerSets.
          - `include_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `include_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
    - `capper` AdclouddspAdCapper — AdCapper represents capping settings for an AdGroup.
      - `imp_interval` CommonTimeDuration — Represents a time duration with an amount and a unit.
        - `amount` string, int64
        - `unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
    - `pricing_model_id` string — PricingModel id.
    - `creative_group_ids` string[] — CreativeGroup IDs. These CreativeGroups' Product IDs must match the Product ID of the current Campaign. A Campaign eligible for serving must have at least one enabled CreativeGroup with enabled Creatives.
    - `user_buckets` AdcloudcommonInterval[] — User buckets for traffic control.
      - `start` integer
      - `end` integer
    - `audience_extension` DspAdGroupAudienceExtension — AdGroupAudienceExtension holds the ad_group settings for PAS audience extension.
      - `paired_ad_group_id` string — Audience extension paired ad group id.
      - `is_secondary` boolean — True for the secondary ad_group, otherwise false.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
    - `aud_size` string, int64 — Original audience size information.
    - `matchable_aud_size` string, int64 — Matchable audience size information.
    - `last_aud_size_computed_at` string, date-time — Last updated time of the audience size information.
  - `ad_groups` DspAdGroup[] — The initial AdGroups of the creating Campaign.
    - `id` string — Unique identifier of the AdGroup. Automatically set by server on creation.
    - `title` string, required — A descriptive name of the AdGroup.
    - `campaign_id` string — ID of the Campaign the AdGroup belongs to.
    - `product_id` string — ID of the Product the AdGroup belongs to.
    - `ad_account_id` string — ID of the AdAccount the AdGroup belongs to.
    - `experiment_id` string — ID of the Experiment the AdGroup is involved in.
    - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
    - `audience` AdclouddspAudience — Audience is a final form of AudienceTargeting specification. It is represented by a list of IDs of SharedAudienceTargets and an ad-hoc target condition. All conditions in the audience specification must be met to accept a bid-request. IDs of the SharedAudienceTargets can be either at global or AdAccount level.
      - `shared_audience_target_ids` string[] — A list of IDs for the named AudienceTargets referenced by this audience specification.
      - `targeting_condition` DspAudienceTargetingCondition — AudienceTargetingCondition specifies conditions for AudienceTargeting. This condition object contains various filters on multiple dimensions of bid-request, app, and user. Advertisers can selectively configure desired filters to form a meaningful AudienceTarget condition collectively. The configured individual filters must be satisfied unanimously in order for the resulting collective condition to be satisfied. Only filters with values will be effective. When a filter condition accepts a list of values, i.e., list of countries for "allowed_countries", the filter condition will be met when any match is found among the list. String literals are case insensitive unless specified otherwise; i.e. "USA" and "usa" equally represents the United States of America.
        - `allowed_countries` string[] — Allowed countries in ISO_3166-1_alpha-3 format.
        - `blocked_countries` string[] — Blocked countries in ISO_3166-1_alpha-3 format.
        - `placement_reasons` AudienceTargetingConditionPlacementReason[]
        - `custom_placement_reason` string — The reason of the placement in free-form text.
        - `allowed_app_bundles` string[] — App bundles. A bid-request having a matching publisher app bundle from the list will be accepted. Example to target com.moloco.game or com.moloco.travel apps: "allowed_app_bundles": [ "com.moloco.game", "com.moloco.travel" ] Example to exclude com.moloco.office app: "blocked_app_bundles": [ "com.moloco.office" ]
        - `blocked_app_bundles` string[] — See the documentation for `allowed_app_bundles`.
        - `allowed_content_categories` string[] — Filter for allowed publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "allowed_content_categories": [ "IAB26-1" ]
        - `blocked_content_categories` string[] — Filter for blocked publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "blocked_content_categories": [ "IAB26-1" ]
        - `allowed_cities` string[] — Allowed cities. A bid-request will be accepted when there is at least one match from the city list. Note that each element must be in the form of "city, region" such as "Seattle, WA" in order to disambiguate the same city but different regions. The entry is case-insensitive and whitespace will be ignored. Example to target Seattle or Newyork: "allowed_cities": [ "Seattle, WA", "Newyork, ny" ]
        - `blocked_cities` string[] — Blocked cities.
        - `allowed_creative_types` AdcloudcommonCreativeType[] — Allowed Creative types.
        - `blocked_creative_types` AdcloudcommonCreativeType[] — Blocked Creative types.
        - `allowed_websites` string[] — Allowed websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "allowed_websites": [ "*youtube.com" ].
        - `blocked_websites` string[] — Blocked websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "blocked_websites": [ "*example.com" ].
        - `allowed_geofences` CommonCircle[] — Allowed geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `blocked_geofences` CommonCircle[] — Blocked geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `allowed_exchanges` CommonAdExchange[] — Allowed ad exchanges. Restricts targeting to bid only on the listed exchanges; an empty list places no restriction. MOLOCO_SDK is automatically included whenever the list is non-empty: submitting a non-empty list that omits MOLOCO_SDK will have it appended on the server side.
        - `blocked_exchanges` CommonAdExchange[] — Blocked ad exchanges. Excludes the listed exchanges from targeting. Adding MOLOCO_SDK to this list is rejected with PERMISSION_DENIED.
        - `allowed_idfas` string[] — Allowed user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `blocked_idfas` string[] — Blocked user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `allowed_zipcodes` string[] — Allowed zipcodes.
        - `blocked_zipcodes` string[] — Blocked zipcodes.
        - `allowed_device_models` string[] — Allowed device models. For example: "allowed_device_models": [ "KFFOWI", "KFGIWI", "KFTT", "KFJWA" ]
        - `blocked_device_models` string[] — Blocked device models.
        - `allowed_user_audience_tags` string[] — Allowed user custom audience tags.
        - `blocked_user_audience_tags` string[] — Blocked user custom audience tags.
        - `allowed_languages` string[] — Allowed languages. Languages in use mostly follow ISO 639-1 code(https://www.loc.gov/standards/iso639-2/php/code_list.php), e.g. "ko" for Korean and "en" for English.
        - `blocked_languages` string[] — Blocked languages.
        - `allowed_device_types` CommonDeviceType[] — Allowed device types. For example: "allowed_device_types": [ "HIGHEND_PHONE", "TABLET" ]
        - `blocked_device_types` CommonDeviceType[] — Blocked device types. For example: "allowed_device_types": [ "SET_TOP_BOX" ]
        - `allowed_mostly_visited_countries` string[] — This filter checks user's history of mostly visited countries against the specified countries in the condition, and passes a request if there is at least one common entry in both lists.
        - `blocked_mostly_visited_countries` string[]
        - `allowed_regions` string[] — Regions are to filter a bid-request based on its region information.
        - `blocked_regions` string[]
        - `allowed_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[] — Recent Campaign activities filter a bid-request by user's recent activity such as click or install in the last n days. The filter is satisfied if there is at least one satisfying condition among the list. Example to target a user who has a click event for com.moloco.gameapp: "allowed_recent_campaign_activities": [ { "campaign_id": "com.moloco.gameapp", "event": "CLICK" } ] Example to block a user who has a install event for com.moloco.officeapp within the past five days: "blocked_recent_campaign_activities": [ { "campaign_id": "com.moloco.officeapp", "event": "INSTALL", "last_n_days": 5 } ]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `blocked_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `allowed_locations` AudienceTargetingConditionLocationFilter[] — Location filter targets specific geo-locational audience using combined conditions of different types such as city, region, zipcode and geofence.
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `blocked_locations` AudienceTargetingConditionLocationFilter[]
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `genders` CommonGender[]
        - `connection_types` string[] — Connection_types include ETHERNET, WIFI, CELL_UNKNOWN, CELL_2G, CELL_3G, CELL_4G. For example: "connection_types": [ "WIFI", "CELL_4G" ]
        - `allowed_direct_deal_ids` string[] — IDs of the allowed direct deals. A bid-request is accepted only if there is at least one matching id. For example: "allowed_direct_deal_ids": [ "ip_9161499632014fe8b9ef60673a51b745", "ip_e13c0cb23dd54a8ea742b2af61e0712d", "ip_0cfeaebb190d47df8b86399232853e23" ]
        - `blocked_direct_deal_ids` string[] — IDs of the blocked direct deals.
        - `device_oses` AudienceTargetingConditionDeviceOsFilter[] — Device OS requirements if specified.
          - `os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
          - `min_version` string
          - `max_version` string
        - `media_channel_type` 'UNKNOWN_MEDIA_CHANNEL_TYPE' | 'APP' | 'WEB' — - UNKNOWN_MEDIA_CHANNEL_TYPE: This value is not part of the specification.
        - `new_users` AudienceTargetingConditionNewUserFilter — Filter to target new users only.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `advertiser_id_types` CommonAdvertiserIdType[] — Filter on advising ID types, including "ANDROID_IDFA" or "IOS_IDFA".
        - `allowed_video_types` DspAudienceTargetingConditionVideoType[] — Video type filter. Ignored when the bid request is not for video ads.
        - `blocked_video_types` DspAudienceTargetingConditionVideoType[]
        - `weekly_schedules` AudienceTargetingConditionWeeklyScheduleFilter[] — Weekly schedule specifies more fine-grained time range filtering for days of a week. For example, this list can be used to specify commute time ranges in the morning and evening on workdays. Example to target 7-9 am and 5-7 pm during week days: "weekly_schedules": [ { "hour_range": { "start": 7, "end": 9 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] }, { "hour_range": { "start": 17, "end": 19 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] } ] Example to target 10pm to 2am on Fridays and Saturdays: "weekly_schedules": [ { "range": { "start": 22, "end": 2 }, "days": [ "FRI", "SAT" ] } ]
          - `timezone_policy` 'UNKNOWN_TIME' | 'DEVICE_TIME' | 'UTC_TIME' | 'AD_ACCOUNT_TIME' | 'ADVERTISER_TIME' — TimezonePolicy defines the time configuration. - DEVICE_TIME: Time object is given in the device's time (depends on user device timezone). - UTC_TIME: Time object is given in the fixed UTC time (depends on nothing). - AD_ACCOUNT_TIME: Given time is given in fixed ad account time (depends on ad account timezone).
          - `hour_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `days` AdcloudcommonDayOfWeek[], required — Days of week to filter on. At least one is required.
        - `allowed_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `blocked_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `allowed_ages` AdcloudcommonInterval[] — Age is used to filter based on user's approximate age. A valid value must be in the exclusive range of (0, 100).
          - `start` integer
          - `end` integer
        - `blocked_ages` AdcloudcommonInterval[]
          - `start` integer
          - `end` integer
        - `allowed_ip_ranges` string[] — IP net based condition. The CIDR format must be used for an entry such as https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing. Note that both of IP v4 and v6 could be used at the same time. Example to block bid-requests with any IP within 32.76.52.0 - 32.76.52.255 or 127.0.0.0 - 127.255.255.255: "blocked_ip_ranges": [ "32.76.52.0/24", "127.0.0.0/8" ]
        - `blocked_ip_ranges` string[]
        - `allowed_device_carriers` string[] — Device carrier filter. Example to target SKT: "allowed_device_carriers": [ "SKTelecom" ] Example to exclude T-MOBILE and XFINITY Mobile "blocked_device_carriers": [ "T-MOBILE", "XFINITY Mobile" ]
        - `blocked_device_carriers` string[]
        - `allowed_keywords` string[] — Filter regarding 'keywords' field in a bid request. If specified, an ad request must have at least one of the allowed keywords to satisfy the filter.
        - `blocked_keywords` string[] — Filter regarding 'keywords' field in a bid request. An ad request must not have any of the blocked keywords to satisfy the filter.
        - `user_buckets` AdcloudcommonInterval[] — Filter for the user buckets.
          - `start` integer
          - `end` integer
        - `allowed_ad_units` string[] — // Target timetree_i_prod or timetree_a_prod ad_units "condition": { "allowed_ad_units": [ "timetree_i_prod", "timetree_a_prod" ] } // Exclude timetree_i_test ad_unit "condition": { "blocked_ad_units": [ "timetree_i_test" ] }
        - `blocked_ad_units` string[]
        - `allowed_placements` string[] — placement (a group of ad_units) names. It is untied to ad_units, and follow the ad_unit's filtering rule.
        - `blocked_placements` string[]
        - `allowed_banner_apis` CommonBannerApi[] — // Target MRAID_2 banner only "condition": { "allowed_banner_apis": [ "MRAID_2" ] }
        - `blocked_banner_apis` CommonBannerApi[]
        - `schedule` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `audience_data` CommonAudienceData — Audience Data. It is a filter based on AudienceData stored in UPT.
          - `provider` string
          - `condition` string
        - `allowed_apps_by_checksum` string[] — Allow apps by their checksum value.
        - `blocked_apps_by_checksum` string[] — Block apps by their checksum value.
        - `allowed_postback_event_counts` CommonPostbackEventCount[] — PostbackEventCount condition checks the number of specified events and accepts if there is one event that falls within given range of [start, end). In the example, User's event named "Transaction confirmation" must have been appeared 16 times or more to accept for zigbang app. Example: "condition": { "allowed_postback_event_counts": [ { "app_bundle": "com.chbreeze.jikbang4a", "range": { "start": 16, "end": 0 }, "events": [ "Transaction confirmation" ] } ] }
          - `app_bundle` string
          - `range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `events` string[]
        - `auction_types` string[] — Auction types including first price or second price auctions. Example: "condition": { "auction_types": [ "first", "second" ] }
        - `throttle_apt_tags` CommonTagsThrottleCondition — Tags Thrrottle Condition. It specifies a throttle rate for a list of tags. All the tags in a list will have same throttle rate.
          - `tags` string[]
          - `throttle_rate` number, float
        - `allowed_dev_makes` string[] — Allowed device make. Example: "condition":{ "allowed_dev_makes": [ "Apple" ] }
        - `blocked_dev_makes` string[] — Blocked device make. See the example of `allowed_dev_makes`.
        - `display_manager_versions` CommonDisplayManagerVersion[] — DisplayManager Version. Example: "condition": { "display_manager_versions": [ { "min": "1.2", "max": "4.5.6" } ] } // With minimum version requirement: "condition": { "display_manager_versions": [ { "min": "3.0" } ] } // With maximum version requirement: "condition": { "display_manager_versions": [ { "max": "5" } ] }
          - `min` string
          - `max` string
        - `allowed_audiences` string[] — Allowed audiences.
        - `blocked_audiences` string[] — Blocked audiences.
        - `allowed_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Postback event condition filter a bid-request by user's postback summary. Note that audience name and events are of case-sentitive string types. Each entry of allowed_postback_has_all_events_conditions will be satisfied when all listed events are found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_all_events_conditions will be satisfied when all listed events are not found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_postback_has_any_events_conditions` CommonPostbackEventsCondition[]
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_any_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_any_events_conditions will be satisfied when there is at least one event not matched by the condition from user's postback summary. See the documentation for `allowed_postback_has_any_events_conditions`.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `blocked_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `allowed_apt_tags` string[]
        - `blocked_apt_tags` string[]
        - `coppa_acceptance` 'UNKNOWN_COPPA' | 'ACCEPT_COPPA_ONLY' | 'DENY_COPPA' — Indicates whether to bid according to the COPPA(Children's Online Privacy Protection Act) value of BidRequest. - UNKNOWN_COPPA: Doesn't filter BidRequest according to the coppa value. - ACCEPT_COPPA_ONLY: Bids to BidRequest with coppa=1. - DENY_COPPA: Bids to BidRequest with coppa=0 or empty coppa field.
        - `skan_traffic` 'UNKNOWN_SKAN' | 'TARGET_SKAN_ONLY' | 'TARGET_NON_SKAN' — Indicates whether to bid according to bid requests that support SKAN(SKAdNetwork) or not. - UNKNOWN_SKAN: Doesn't filter BidRequest according to support skan or not in this filter. - TARGET_SKAN_ONLY: Bids only for skan support traffic. - TARGET_NON_SKAN: Bids only for non-skan traffic.
        - `contains_custom_audience` boolean — Whether it contains a `custom_audience` targeting condition. The `custom_audience` targeting condition is legacy, and may contain some internal information. Therefore, we do not reveal them by the API but only signals its non-emptiness with this field.
        - `custom_audience_set` AudienceTargetingConditionCustomAudienceSet — CustomAudienceSet represents a group of target users to whom we're going to show an ad. CustomAudienceSet is consist of a dynamic (not pre-determined) set of target users based on App-events described in the postback messages and pre-defined CustomerSets.
          - `include_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `include_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
    - `capper` AdclouddspAdCapper — AdCapper represents capping settings for an AdGroup.
      - `imp_interval` CommonTimeDuration — Represents a time duration with an amount and a unit.
        - `amount` string, int64
        - `unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
    - `pricing_model_id` string — PricingModel id.
    - `creative_group_ids` string[] — CreativeGroup IDs. These CreativeGroups' Product IDs must match the Product ID of the current Campaign. A Campaign eligible for serving must have at least one enabled CreativeGroup with enabled Creatives.
    - `user_buckets` AdcloudcommonInterval[] — User buckets for traffic control.
      - `start` integer
      - `end` integer
    - `audience_extension` DspAdGroupAudienceExtension — AdGroupAudienceExtension holds the ad_group settings for PAS audience extension.
      - `paired_ad_group_id` string — Audience extension paired ad group id.
      - `is_secondary` boolean — True for the secondary ad_group, otherwise false.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
    - `aud_size` string, int64 — Original audience size information.
    - `matchable_aud_size` string, int64 — Matchable audience size information.
    - `last_aud_size_computed_at` string, date-time — Last updated time of the audience size information.

## Response `200`

A successful response.

- MessagesCreateCampaignResponse
  - `campaign` DspCampaign — Campaign represents a single advertising Campaign.
    - `id` string — Unique identifier of the Campaign. Automatically set by server on creation.
    - `ad_account_id` string — ID of the AdAccount the Campaign belongs to.
    - `product_id` string — ID of the Product the Campaign belongs to.
    - `title` string, required — A descriptive name of the Campaign.
    - `description` string — An optional description of the Campaign.
    - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
    - `type` 'UNKNOWN_CAMPAIGN_TYPE' | 'GENERIC' | 'APP_USER_ACQUISITION' | 'APP_REENGAGEMENT' | 'WEBSITE_VISIT' | 'CTV_GENERIC' | 'CTV_APP_USER_ACQUISITION' | 'WEB_USER_ACQUISITION' | 'CTV_WEBSITE_VISIT' | 'WEB_RETARGETING', required — CampaignType represents the type of a Campaign. It captures the goal of the Campaign at a high level. This value is not part of the specification. - GENERIC: Campaign is for generic purpose (only for legacy Campaigns). - APP_USER_ACQUISITION: The goal of the Campaign is to drive app user acquisitions. - APP_REENGAGEMENT: The goal of the Campaign is to drive app reengagement. - WEBSITE_VISIT: The goal of the Campaign is to drive website visits. - CTV_GENERIC: Campaign is for the general CTV ad. - CTV_APP_USER_ACQUISITION: Campaign is for the mobile app install CTV ad. - WEB_USER_ACQUISITION: The goal of the Campaign is to drive web user acquisitions. Originally, this was used for APP to WEB user acquisition. However, it is now also used for WEB to WEB user acquisition. - CTV_WEBSITE_VISIT: Campaign is for the website visit CTV ad. - WEB_RETARGETING: The goal of the Campaign is to drive web retargeting. Currently, this is used for WEB to WEB retargeting.
    - `device_os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
    - `state` 'UNKNOWN_CAMPAIGN_STATE' | 'SUBMITTED' | 'READY' | 'UPCOMING' | 'ACTIVE' | 'PAUSED' | 'SUSPENDED' | 'COMPLETED' — CampaignState represents various states of a Campaign. This value is not part of the specification. - SUBMITTED: All the required data are entered and passed all the validation. It's eligible to be reviewed by Moloco for activation. - READY: Campaign is before schedule and internally ready but disabled. Will transit to PAUSED when it becomes on schdule. - UPCOMING: Campaign is before schedule and internally ready and disabled. Will transit to ACTIVE when it becomes on schdule. - ACTIVE: Campaign is on schedule and spending the budget. - PAUSED: Campaign is paused and not spending the budget. - SUSPENDED: Campaign activation is suspended by the system for the following reasons: - App has been found to be in violation of Moloco's creative policy. - COMPLETED: Campaign is completed but may still get attributions for some time.
    - `countries` string[], required — Countries in which this Campaign runs. The value format is ISO-3166-1 Alpha-3 using uppercase letters only, such as "KOR" or "USA". Note that the values for this field will be used to filter bid requests by country name.
    - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
    - `schedule` CommonTimeInterval, required — Interval with start and end timestamps in RFC3339 format.
      - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
      - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
    - `budget_schedule` DspBudgetSchedule — BudgetSchedule represents the AdAccount's plan for budget spending. Any change in this object takes effect immediately.
      - `daily_schedule` DspDailyBudgetSchedule
        - `daily_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `weekly_schedule` DspDayOfWeekBudgetSchedule — Budget for each day of the week; all 7-day budgets need be filled for use.
        - `monday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `tuesday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `wednesday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `thursday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `friday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `saturday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `sunday_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `weekly_flexible_schedule` DspWeeklyFlexibleBudgetSchedule
        - `weekly_budget` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
    - `tracking_company` 'UNKNOWN_TRACKING_COMPANY' | 'KOCHAVA' | 'ADJUST' | 'MAT' | 'MOLOCO_PIXEL' | 'APPSFLYER' | 'ADBRIX' | 'WEB' | 'GENERIC' | 'TRACKFNT' | 'AIRBRIDGE' | 'MOLOCO_E2E' | 'APSALAR' | 'BRANCH' | 'TENJIN' | 'SINGULAR' | 'ADBRIX_V2' | 'TRAFFICGUARD' | 'GAMELOFT' | 'SKADNETWORK' | 'MYTRACKER' | 'MOLOCO_RMP' | 'MOLOCO_PIXEL_V2' | 'JUSTTRACK' | 'SHOPEE' | 'KOCHAVA_FOR_PUBLISHER' | 'GAMESIGHT' | 'CAULY' | 'HASOFFER' | 'ADACTION' | 'CURATE' — Enumeration for tracking companies supported by Moloco Ads. - WEB: Unnamed trackers - AIRBRIDGE: Moloco's e2e tracker (test purpose only) - KOCHAVA_FOR_PUBLISHER: Kochava's CTV to web event dedicated tracking company.
    - `tracking_link_id` string — MMP specific impression and click TrackingLinks defined specifically for this Campaign. Campaign can be either WEB type or APP type. Required for APP type campaign, not allowed for WEB type Campaign.
    - `landing_url` string — The URL of the website that a Campaign wants to show to the audience. Required for web type Campaign.
    - `goal` DspCampaignGoal, required — CampaignGoal describes the details of goal of a Campaign.
      - `type` 'UNKNOWN_TYPE' | 'OPTIMIZE_NONE' | 'FIXED_CPM_FOR_APP_UA' | 'FIXED_CPM_FOR_APP_RE' | 'OPTIMIZE_CPI_FOR_APP_UA' | 'OPTIMIZE_CPA_FOR_APP_UA' | 'OPTIMIZE_CPC_FOR_APP_UA' | 'OPTIMIZE_ROAS_FOR_APP_UA' | 'OPTIMIZE_ROAS_FOR_APP_RE' | 'OPTIMIZE_CPC_FOR_APP_RE' | 'OPTIMIZE_CPC_FOR_WEB_VISIT' | 'OPTIMIZE_APP_INSTALLS' | 'OPTIMIZE_APP_ROAS' | 'OPTIMIZE_CLICKS_TO_WEB' | 'OPTIMIZE_CLICKS_TO_APP' | 'OPTIMIZE_CPA_FOR_APP_RE' | 'OPTIMIZE_RETENTION_FOR_APP_UA' | 'OPTIMIZE_REATTRIBUTION_FOR_APP' | 'OPTIMIZE_CPA_REPEATED_FOR_APP_UA' | 'FIXED_CPM_GENERIC' | 'FIXED_CPM_FOR_CTV' | 'FIXED_CPM_FOR_WEB_VISIT' | 'OPTIMIZE_LANDING_FOR_WEB_UA' | 'OPTIMIZE_CPA_FOR_WEB_UA', required — Type enumerates available Campaign goal types. Corresponding details to the type must be specified. - OPTIMIZE_NONE: Goal type for the Campaigns which do not use any of pricing engines. - FIXED_CPM_FOR_APP_UA: Goal type for the UA Campaigns which do not use any of pricing engines. - FIXED_CPM_FOR_APP_RE: Goal type for the RE Campaigns which do not use any of pricing engines. - OPTIMIZE_CPI_FOR_APP_UA: Aim to drive app installs while satisfying the long-term cost per install. - OPTIMIZE_CPA_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per (certain) action. - OPTIMIZE_CPC_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per click. - OPTIMIZE_ROAS_FOR_APP_UA: Aim to drive app installs while satisfying long-term return on advertising spend (ROAS). - OPTIMIZE_ROAS_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term return on advertising spend (ROAS). - OPTIMIZE_CPC_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term cost per click. - OPTIMIZE_CPC_FOR_WEB_VISIT: Aim to drive the web-site visit while satisfying long-term cost per click. - OPTIMIZE_APP_INSTALLS: Deprecated. Aim to drive app installs while satisfying long-term cost per install. - OPTIMIZE_APP_ROAS: Deprecated. Aim to drive certain in-app actions while satisfying long-term return on advertising spend (ROAS). - OPTIMIZE_CLICKS_TO_WEB: Deprecated. Aim to drive clicks for web-site Product while satisfying long-term cost per click. - OPTIMIZE_CLICKS_TO_APP: Deprecated. Aim to drive clicks for web-site Product while satisfying long-term cost per click. - OPTIMIZE_CPA_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term cost per (certain) action. - OPTIMIZE_RETENTION_FOR_APP_UA: Aim to drive the user retention. - OPTIMIZE_REATTRIBUTION_FOR_APP: Aim to drive user's app reattribution. - OPTIMIZE_CPA_REPEATED_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per (certain) action - repeated count. - FIXED_CPM_GENERIC: Default goal type for generic fixed-cpm. Fixed cpm with budget-pacing option is given. - FIXED_CPM_FOR_CTV: Default goal type for CTV. Fixed cpm with budget-pacing option is given. - FIXED_CPM_FOR_WEB_VISIT: Goal type for the WEB_VISIT Campaigns which do not use any of pricing engines. - OPTIMIZE_LANDING_FOR_WEB_UA: Goal type for optimizing landing event for web user acquisition campaign. - OPTIMIZE_CPA_FOR_WEB_UA: Goal type for optimizing cost per action for web user acquisition campaign.
      - `optimize_app_installs` CampaignGoalOptimizeAppInstalls
        - `mode` 'UNKNOWN_MODE' | 'TARGET_CPI_CENTRIC' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC' | 'FIXED' — - FIXED: Read-only for AdCloud.
        - `target_cpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
      - `optimize_cpa_for_app_ua` CampaignGoalOptimizeCpaForAppUa — Detailed configuration of OPTIMIZE_CPA_FOR_APP_UA goal.
        - `action` string, required — In-app action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC' | 'TARGET_PRIMARY_KPI_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
        - `target_kpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `optimize_app_roas` CampaignGoalOptimizeAppRoas
        - `target_roas` number, double — Target return on advertising spend (ROAS) in percent. For example, a value 312.5 denotes 312.5% ROAS.
        - `revenue_actions` string[], required — In-app action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP. - ROAS computation will rely on the accompanied revenue value to each action.
        - `target_cpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC' | 'TARGET_PRIMARY_KPI_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
      - `optimize_clicks_to_web` CampaignGoalOptimizeClicksToWeb — Detailed configuration of OPTIMIZE_CPC_FOR_WEB_VISIT goal.
        - `target_cpc` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'TARGET_CPC_CENTRIC'
        - `rate` number, double — Budget-centric uses one ratio of daily budget for the autopilot to spend. It's only for DCPM. Required when the mode is BUDGET_CENTRIC. Its rate should be in (0, 2].
      - `optimize_clicks_to_app` CampaignGoalOptimizeClicksToApp — Detailed configuration of OPTIMIZE_CPC_FOR_APP_UA goal.
        - `target_cpc` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'TARGET_CPC_CENTRIC'
        - `rate` number, double — Budget-centric uses one ratio of daily budget for the autopilot to spend. It's only for DCPM. Required when the mode is BUDGET_CENTRIC. Its rate should be in (0, 2].
      - `optimize_roas_for_app_re` CampaignGoalOptimizeRoasForAppRe — Detailed configuration of OPTIMIZE_ROAS_FOR_APP_RE goal.
        - `target_roas` number, double — Target return on advertising spend (ROAS) in percent. For example, a value 312.5 denotes 312.5% ROAS.
        - `reengagement_action` string — Re-engagement action to measure re-engaging a user. This action is also used as a cohort base action.
        - `revenue_actions` string[], required — In-app action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP. - ROAS computation will rely on the accompanied revenue value to each action.
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `optimize_cpc_for_app_re` CampaignGoalOptimizeCpcForAppRe — Detailed configuration of OPTIMIZE_CPC_FOR_APP_RE goal.
        - `target_cpc` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `reengagement_action` string — Re-engagement action to measure re-engaging a user. This action is also used as a cohort base action.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'TARGET_CPC_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2]. Required when the mode is BUDGET_CENTRIC.
      - `optimize_fixed_cpm` CampaignGoalOptimizeFixedCpm — Detailed configuration of FIXED_CPM_* goal.
        - `target_cpm` AdcloudcommonMoney, required — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
      - `optimize_cpa_for_app_re` CampaignGoalOptimizeCpaForAppRe — Detailed configuration of OPTIMIZE_CPA_FOR_APP_RE goal.
        - `action` string, required — In-app action events the AdAccount wants to optimize. Remarkable notes: - Case-sensitive as specified in the post-back from MMP.
        - `reengagement_action` string — Re-engagement action to measure re-engaging a user. This action is also used as a cohort base action.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
      - `optimize_app_retention` CampaignGoalOptimizeAppRetention — Detailed configuration of OPTIMIZE_RETENTION_FOR_APP_UA goal.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC' | 'MARGIN_CENTRIC'
        - `target_cpi` AdcloudcommonMoney — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC and target_cpi is unset. The rate should be in (0, 2].
        - `margin` number, double — The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC. The rate should be in [-1.0, 1.0].
      - `optimize_app_reattribution` CampaignGoalOptimizeAppReattribution — Detailed configuration of OPTIMIZE_REATTRIBUTION_FOR_APP goal.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `optimize_cpa_repeated_for_app_ua` CampaignGoalOptimizeCpaRepeatedForAppUa — Detailed configuration of OPTIMIZE_CPA_REPEATED_FOR_APP_UA goal.
        - `action` string, required — In-app action events the AdAccount wants to optimize. Remarkable notes: - Case-sensitive as specified in the post-back from MMP.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC. The rate should be in (0, 2].
      - `optimize_fixed_cpm_pacing` CampaignGoalOptimizeFixedCpmPacing — General fixed-cpm goal with pacing option. Currently for FIXED_CPM_FOR_CTV and FIXED_CPM_GENERIC.
        - `target_cpm` AdcloudcommonMoney, required — Represents a monetary amount in micros for a specified currency. It's the amount in the specified currency's base denomination unit multiplied with 1 million. Both currency and amount are required.
          - `currency` 'UNKNOWN_CURRENCY' | 'USD' | 'KRW' | 'JPY' | 'EUR' | 'GBP' — Enumeration of currencies supported by Moloco Ads. This value is not part of the specification. - USD: US Dollar. - KRW: Korean Won. - JPY: Japanese Yen. - EUR: EU Euro. - GBP: British Pound.
          - `amount_micros` string, int64
        - `pacing_mode` 'NONE' | 'BY_FREQUENCY' — Force pacing option.
        - `rate` number, double — Budget consume rate. The rate should be in (0, 2].
      - `optimize_landing_for_web_ua` CampaignGoalOptimizeLandingForWebUa
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `optimize_cpa_for_web_ua` CampaignGoalOptimizeCpaForWebUa
        - `action` string, required — Web action events having revenue value the AdAccount wants to achieve. Remarkable notes: - Case-sensitive as specified in the post-back from MMP. Note(jiyeon): Currently, we optimize `install` events regardless of this action.
        - `mode` 'UNKNOWN_MODE' | 'BUDGET_CENTRIC'
        - `rate` number, double — The ratio of the daily budget for the autopilot to spend. The rate should be in (0, 2].
      - `kpi_actions` string[] — List of KPI actions.
    - `skadn_input` DspSKAdNetworkInput — SKAdNetworkInput represents various configurations w.r.t SKAdNetwork traffic. It's meaningful only for IOS. Use case in MCP: https://help.moloco.com/hc/en-us/articles/1500005837321-SKAdNetwork-Campaign-Settings.
      - `targeting_state` 'UNKNOWN_TARGETING_STATE' | 'TARGET_DO_NOT_CARE' | 'TARGET_ALL' | 'TARGET_SKADN_ONLY' | 'TARGET_NON_SKADN_ONLY' | 'TARGET_CUSTOM' — Enumeration of all supported targeting state w.r.t SKAdNetwork traffic. TARGET_ALL, TARGET_SKADN_ONLY, TARGET_NON_SKADN_ONLY is a predefined set of traffic. TARGET_CUSTOM is to support DIY configuration of traffic. This value is not part of the specification. - TARGET_DO_NOT_CARE: Do not care whether the Campaign targets SKAdNetwork traffic or not. - TARGET_ALL: Target all traffic including SKAdNetwork and others. It includes SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE. - TARGET_SKADN_ONLY: Target only SKAdNetwork traffic. It includes SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE. - TARGET_NON_SKADN_ONLY: Target only non-SKAdNetwork traffic. It includes SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE. - TARGET_CUSTOM: Target customized configuration traffic. When the targeting_state is set with this value, then custon_options should be also set.
      - `include_traffic_without_attributions` boolean — It adds SKAN_CUSTOM_OPTION_NON_ATTRIBUTABLE to target traffic. It is only effective when the targeting_state is 'TARGET_ALL' or 'TARGET_SKADN_ONLY'.
      - `custom_options` SKAdNetworkInputCustomOption[] — custom_options hold all the traffic the Campaign want to target. It is only effective when the targeting_state is 'TARGET_CUSTOM'.
      - `prefer_mmp_attribution` boolean — 1) targeting_state is TARGET_NON_SKADN_ONLY 2) targeting_state is TARGET_CUSTOM and custom_options is set exclusively to SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE. If true, the Campaign skips SKAN allocation.
    - `custom_key_values` object — Custom key/values managed by the Moloco Ads client platform. It's up to the client ads platform to define the schema for the values and their optionality. The keys are recommended, but not required, to be prefixed with the reversed internet domain of the AdCloud client platform company. For example, keys defined by the client ads platform company "example.com" should have "com.example." as the prefix. For complex values, JSON payload is recommended. Moloco doesn't interpret these data in any way for ads serving. Upon serving, the custom key/values in the AdAccount, Campaign, and Creative models will be combined into the serving Creative proto in the order of precedence, with Creative's value having the highest precedence on the same key.
    - `ad_tracking_allowance` 'UNKNOWN_AD_TRACKING_ALLOWANCE' | 'NON_LAT_ONLY' | 'LAT_ONLY' | 'DO_NOT_CARE' — AdTrackingAllowance represents targeting conditions regarding personalized ad tracking. This value is not part of the specification. - NON_LAT_ONLY: Campaign will bid only to the traffic with IDFA as usual Campaigns. - LAT_ONLY: Campaign will bid only to the traffic without IDFA. Limited Ad Tracking only. - DO_NOT_CARE: Campaign will not care whether it has an IDFA or not. Default as of now.
    - `is_deleted` boolean — True for deleted Campaign.
    - `auto_delete_at` string, date-time — Campaign in Paused or Finished state for specific time will be removed automatically. It represents when this will be deleted in UTC.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
    - `serving_status` CampaignServingStatus — ServingStatus stores current serving status of the campaign, such as whether it is blocked and when it is blocked.
      - `serving_blocked` boolean — serving_blocked is true when this campaign is blocked in the serving side for some reason.
      - `serving_blocked_timestamp` string, date-time — The timestamp of the latest serving block.
    - `launch_notices` CommonLaunchNotice[] — A list of notices that the user must review and acknowledge to enable the campaign. This field represents pending notices requiring user confirmation. The client should store these notices and include them in the subsequent request via the 'launch_notice_confirmations' field to prove that the user has seen them.
      - `type` 'UNKNOWN' | 'WARNING' | 'DISCLAIMER' — NoticeType defines the severity or category of the notice. - WARNING: Warning: Informational message that does not block the launch but requires attention. - DISCLAIMER: Disclaimer: Explicit agreement or acknowledgement is required from the user.
      - `message` 'UNKNOWN_MESSAGE' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_ADVANCED_PRIVACY_STATUS_ENABLED' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN' | 'CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H' — - UNKNOWN_MESSAGE: Default fallback for unrecognized message types. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: MMP Probabilistic Attribution (PA) is disabled. User should enable PA from MMP side. - MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: View-Through Probabilistic Attribution (VT PA) is disabled in MMP settings. - MMP_ADVANCED_PRIVACY_STATUS_ENABLED: Appsflyer Advanced Privacy is currently enabled. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN: The current status of Probabilistic Attribution cannot be determined. - CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H: The campaign is scheduled to pause in 48 hours if Advanced Privacy remains enabled.
    - `launch_notice_confirmations` CommonLaunchNotice[] — The list of launch notice that the user has explicitly reviewed and confirmed. The client must echo back the notices received in 'launch_notices' when enabling the campaign. The server validates these against the current system state to ensure all required acknowledgments are present. Starting from v1.10.0, any campaign enable request that does not include all 'DISCLAIMER' type notices received in 'launch_notices' will be rejected.
      - `type` 'UNKNOWN' | 'WARNING' | 'DISCLAIMER' — NoticeType defines the severity or category of the notice. - WARNING: Warning: Informational message that does not block the launch but requires attention. - DISCLAIMER: Disclaimer: Explicit agreement or acknowledgement is required from the user.
      - `message` 'UNKNOWN_MESSAGE' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED' | 'MMP_ADVANCED_PRIVACY_STATUS_ENABLED' | 'MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN' | 'CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H' — - UNKNOWN_MESSAGE: Default fallback for unrecognized message types. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: MMP Probabilistic Attribution (PA) is disabled. User should enable PA from MMP side. - MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: View-Through Probabilistic Attribution (VT PA) is disabled in MMP settings. - MMP_ADVANCED_PRIVACY_STATUS_ENABLED: Appsflyer Advanced Privacy is currently enabled. - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN: The current status of Probabilistic Attribution cannot be determined. - CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H: The campaign is scheduled to pause in 48 hours if Advanced Privacy remains enabled.
  - `ad_groups` DspAdGroup[] — The AdGroup data which has been created along with the Campaign.
    - `id` string — Unique identifier of the AdGroup. Automatically set by server on creation.
    - `title` string, required — A descriptive name of the AdGroup.
    - `campaign_id` string — ID of the Campaign the AdGroup belongs to.
    - `product_id` string — ID of the Product the AdGroup belongs to.
    - `ad_account_id` string — ID of the AdAccount the AdGroup belongs to.
    - `experiment_id` string — ID of the Experiment the AdGroup is involved in.
    - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
    - `audience` AdclouddspAudience — Audience is a final form of AudienceTargeting specification. It is represented by a list of IDs of SharedAudienceTargets and an ad-hoc target condition. All conditions in the audience specification must be met to accept a bid-request. IDs of the SharedAudienceTargets can be either at global or AdAccount level.
      - `shared_audience_target_ids` string[] — A list of IDs for the named AudienceTargets referenced by this audience specification.
      - `targeting_condition` DspAudienceTargetingCondition — AudienceTargetingCondition specifies conditions for AudienceTargeting. This condition object contains various filters on multiple dimensions of bid-request, app, and user. Advertisers can selectively configure desired filters to form a meaningful AudienceTarget condition collectively. The configured individual filters must be satisfied unanimously in order for the resulting collective condition to be satisfied. Only filters with values will be effective. When a filter condition accepts a list of values, i.e., list of countries for "allowed_countries", the filter condition will be met when any match is found among the list. String literals are case insensitive unless specified otherwise; i.e. "USA" and "usa" equally represents the United States of America.
        - `allowed_countries` string[] — Allowed countries in ISO_3166-1_alpha-3 format.
        - `blocked_countries` string[] — Blocked countries in ISO_3166-1_alpha-3 format.
        - `placement_reasons` AudienceTargetingConditionPlacementReason[]
        - `custom_placement_reason` string — The reason of the placement in free-form text.
        - `allowed_app_bundles` string[] — App bundles. A bid-request having a matching publisher app bundle from the list will be accepted. Example to target com.moloco.game or com.moloco.travel apps: "allowed_app_bundles": [ "com.moloco.game", "com.moloco.travel" ] Example to exclude com.moloco.office app: "blocked_app_bundles": [ "com.moloco.office" ]
        - `blocked_app_bundles` string[] — See the documentation for `allowed_app_bundles`.
        - `allowed_content_categories` string[] — Filter for allowed publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "allowed_content_categories": [ "IAB26-1" ]
        - `blocked_content_categories` string[] — Filter for blocked publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "blocked_content_categories": [ "IAB26-1" ]
        - `allowed_cities` string[] — Allowed cities. A bid-request will be accepted when there is at least one match from the city list. Note that each element must be in the form of "city, region" such as "Seattle, WA" in order to disambiguate the same city but different regions. The entry is case-insensitive and whitespace will be ignored. Example to target Seattle or Newyork: "allowed_cities": [ "Seattle, WA", "Newyork, ny" ]
        - `blocked_cities` string[] — Blocked cities.
        - `allowed_creative_types` AdcloudcommonCreativeType[] — Allowed Creative types.
        - `blocked_creative_types` AdcloudcommonCreativeType[] — Blocked Creative types.
        - `allowed_websites` string[] — Allowed websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "allowed_websites": [ "*youtube.com" ].
        - `blocked_websites` string[] — Blocked websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "blocked_websites": [ "*example.com" ].
        - `allowed_geofences` CommonCircle[] — Allowed geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `blocked_geofences` CommonCircle[] — Blocked geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `allowed_exchanges` CommonAdExchange[] — Allowed ad exchanges. Restricts targeting to bid only on the listed exchanges; an empty list places no restriction. MOLOCO_SDK is automatically included whenever the list is non-empty: submitting a non-empty list that omits MOLOCO_SDK will have it appended on the server side.
        - `blocked_exchanges` CommonAdExchange[] — Blocked ad exchanges. Excludes the listed exchanges from targeting. Adding MOLOCO_SDK to this list is rejected with PERMISSION_DENIED.
        - `allowed_idfas` string[] — Allowed user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `blocked_idfas` string[] — Blocked user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `allowed_zipcodes` string[] — Allowed zipcodes.
        - `blocked_zipcodes` string[] — Blocked zipcodes.
        - `allowed_device_models` string[] — Allowed device models. For example: "allowed_device_models": [ "KFFOWI", "KFGIWI", "KFTT", "KFJWA" ]
        - `blocked_device_models` string[] — Blocked device models.
        - `allowed_user_audience_tags` string[] — Allowed user custom audience tags.
        - `blocked_user_audience_tags` string[] — Blocked user custom audience tags.
        - `allowed_languages` string[] — Allowed languages. Languages in use mostly follow ISO 639-1 code(https://www.loc.gov/standards/iso639-2/php/code_list.php), e.g. "ko" for Korean and "en" for English.
        - `blocked_languages` string[] — Blocked languages.
        - `allowed_device_types` CommonDeviceType[] — Allowed device types. For example: "allowed_device_types": [ "HIGHEND_PHONE", "TABLET" ]
        - `blocked_device_types` CommonDeviceType[] — Blocked device types. For example: "allowed_device_types": [ "SET_TOP_BOX" ]
        - `allowed_mostly_visited_countries` string[] — This filter checks user's history of mostly visited countries against the specified countries in the condition, and passes a request if there is at least one common entry in both lists.
        - `blocked_mostly_visited_countries` string[]
        - `allowed_regions` string[] — Regions are to filter a bid-request based on its region information.
        - `blocked_regions` string[]
        - `allowed_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[] — Recent Campaign activities filter a bid-request by user's recent activity such as click or install in the last n days. The filter is satisfied if there is at least one satisfying condition among the list. Example to target a user who has a click event for com.moloco.gameapp: "allowed_recent_campaign_activities": [ { "campaign_id": "com.moloco.gameapp", "event": "CLICK" } ] Example to block a user who has a install event for com.moloco.officeapp within the past five days: "blocked_recent_campaign_activities": [ { "campaign_id": "com.moloco.officeapp", "event": "INSTALL", "last_n_days": 5 } ]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `blocked_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `allowed_locations` AudienceTargetingConditionLocationFilter[] — Location filter targets specific geo-locational audience using combined conditions of different types such as city, region, zipcode and geofence.
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `blocked_locations` AudienceTargetingConditionLocationFilter[]
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `genders` CommonGender[]
        - `connection_types` string[] — Connection_types include ETHERNET, WIFI, CELL_UNKNOWN, CELL_2G, CELL_3G, CELL_4G. For example: "connection_types": [ "WIFI", "CELL_4G" ]
        - `allowed_direct_deal_ids` string[] — IDs of the allowed direct deals. A bid-request is accepted only if there is at least one matching id. For example: "allowed_direct_deal_ids": [ "ip_9161499632014fe8b9ef60673a51b745", "ip_e13c0cb23dd54a8ea742b2af61e0712d", "ip_0cfeaebb190d47df8b86399232853e23" ]
        - `blocked_direct_deal_ids` string[] — IDs of the blocked direct deals.
        - `device_oses` AudienceTargetingConditionDeviceOsFilter[] — Device OS requirements if specified.
          - `os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
          - `min_version` string
          - `max_version` string
        - `media_channel_type` 'UNKNOWN_MEDIA_CHANNEL_TYPE' | 'APP' | 'WEB' — - UNKNOWN_MEDIA_CHANNEL_TYPE: This value is not part of the specification.
        - `new_users` AudienceTargetingConditionNewUserFilter — Filter to target new users only.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `advertiser_id_types` CommonAdvertiserIdType[] — Filter on advising ID types, including "ANDROID_IDFA" or "IOS_IDFA".
        - `allowed_video_types` DspAudienceTargetingConditionVideoType[] — Video type filter. Ignored when the bid request is not for video ads.
        - `blocked_video_types` DspAudienceTargetingConditionVideoType[]
        - `weekly_schedules` AudienceTargetingConditionWeeklyScheduleFilter[] — Weekly schedule specifies more fine-grained time range filtering for days of a week. For example, this list can be used to specify commute time ranges in the morning and evening on workdays. Example to target 7-9 am and 5-7 pm during week days: "weekly_schedules": [ { "hour_range": { "start": 7, "end": 9 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] }, { "hour_range": { "start": 17, "end": 19 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] } ] Example to target 10pm to 2am on Fridays and Saturdays: "weekly_schedules": [ { "range": { "start": 22, "end": 2 }, "days": [ "FRI", "SAT" ] } ]
          - `timezone_policy` 'UNKNOWN_TIME' | 'DEVICE_TIME' | 'UTC_TIME' | 'AD_ACCOUNT_TIME' | 'ADVERTISER_TIME' — TimezonePolicy defines the time configuration. - DEVICE_TIME: Time object is given in the device's time (depends on user device timezone). - UTC_TIME: Time object is given in the fixed UTC time (depends on nothing). - AD_ACCOUNT_TIME: Given time is given in fixed ad account time (depends on ad account timezone).
          - `hour_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `days` AdcloudcommonDayOfWeek[], required — Days of week to filter on. At least one is required.
        - `allowed_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `blocked_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `allowed_ages` AdcloudcommonInterval[] — Age is used to filter based on user's approximate age. A valid value must be in the exclusive range of (0, 100).
          - `start` integer
          - `end` integer
        - `blocked_ages` AdcloudcommonInterval[]
          - `start` integer
          - `end` integer
        - `allowed_ip_ranges` string[] — IP net based condition. The CIDR format must be used for an entry such as https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing. Note that both of IP v4 and v6 could be used at the same time. Example to block bid-requests with any IP within 32.76.52.0 - 32.76.52.255 or 127.0.0.0 - 127.255.255.255: "blocked_ip_ranges": [ "32.76.52.0/24", "127.0.0.0/8" ]
        - `blocked_ip_ranges` string[]
        - `allowed_device_carriers` string[] — Device carrier filter. Example to target SKT: "allowed_device_carriers": [ "SKTelecom" ] Example to exclude T-MOBILE and XFINITY Mobile "blocked_device_carriers": [ "T-MOBILE", "XFINITY Mobile" ]
        - `blocked_device_carriers` string[]
        - `allowed_keywords` string[] — Filter regarding 'keywords' field in a bid request. If specified, an ad request must have at least one of the allowed keywords to satisfy the filter.
        - `blocked_keywords` string[] — Filter regarding 'keywords' field in a bid request. An ad request must not have any of the blocked keywords to satisfy the filter.
        - `user_buckets` AdcloudcommonInterval[] — Filter for the user buckets.
          - `start` integer
          - `end` integer
        - `allowed_ad_units` string[] — // Target timetree_i_prod or timetree_a_prod ad_units "condition": { "allowed_ad_units": [ "timetree_i_prod", "timetree_a_prod" ] } // Exclude timetree_i_test ad_unit "condition": { "blocked_ad_units": [ "timetree_i_test" ] }
        - `blocked_ad_units` string[]
        - `allowed_placements` string[] — placement (a group of ad_units) names. It is untied to ad_units, and follow the ad_unit's filtering rule.
        - `blocked_placements` string[]
        - `allowed_banner_apis` CommonBannerApi[] — // Target MRAID_2 banner only "condition": { "allowed_banner_apis": [ "MRAID_2" ] }
        - `blocked_banner_apis` CommonBannerApi[]
        - `schedule` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `audience_data` CommonAudienceData — Audience Data. It is a filter based on AudienceData stored in UPT.
          - `provider` string
          - `condition` string
        - `allowed_apps_by_checksum` string[] — Allow apps by their checksum value.
        - `blocked_apps_by_checksum` string[] — Block apps by their checksum value.
        - `allowed_postback_event_counts` CommonPostbackEventCount[] — PostbackEventCount condition checks the number of specified events and accepts if there is one event that falls within given range of [start, end). In the example, User's event named "Transaction confirmation" must have been appeared 16 times or more to accept for zigbang app. Example: "condition": { "allowed_postback_event_counts": [ { "app_bundle": "com.chbreeze.jikbang4a", "range": { "start": 16, "end": 0 }, "events": [ "Transaction confirmation" ] } ] }
          - `app_bundle` string
          - `range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `events` string[]
        - `auction_types` string[] — Auction types including first price or second price auctions. Example: "condition": { "auction_types": [ "first", "second" ] }
        - `throttle_apt_tags` CommonTagsThrottleCondition — Tags Thrrottle Condition. It specifies a throttle rate for a list of tags. All the tags in a list will have same throttle rate.
          - `tags` string[]
          - `throttle_rate` number, float
        - `allowed_dev_makes` string[] — Allowed device make. Example: "condition":{ "allowed_dev_makes": [ "Apple" ] }
        - `blocked_dev_makes` string[] — Blocked device make. See the example of `allowed_dev_makes`.
        - `display_manager_versions` CommonDisplayManagerVersion[] — DisplayManager Version. Example: "condition": { "display_manager_versions": [ { "min": "1.2", "max": "4.5.6" } ] } // With minimum version requirement: "condition": { "display_manager_versions": [ { "min": "3.0" } ] } // With maximum version requirement: "condition": { "display_manager_versions": [ { "max": "5" } ] }
          - `min` string
          - `max` string
        - `allowed_audiences` string[] — Allowed audiences.
        - `blocked_audiences` string[] — Blocked audiences.
        - `allowed_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Postback event condition filter a bid-request by user's postback summary. Note that audience name and events are of case-sentitive string types. Each entry of allowed_postback_has_all_events_conditions will be satisfied when all listed events are found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_all_events_conditions will be satisfied when all listed events are not found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_postback_has_any_events_conditions` CommonPostbackEventsCondition[]
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_any_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_any_events_conditions will be satisfied when there is at least one event not matched by the condition from user's postback summary. See the documentation for `allowed_postback_has_any_events_conditions`.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `blocked_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `allowed_apt_tags` string[]
        - `blocked_apt_tags` string[]
        - `coppa_acceptance` 'UNKNOWN_COPPA' | 'ACCEPT_COPPA_ONLY' | 'DENY_COPPA' — Indicates whether to bid according to the COPPA(Children's Online Privacy Protection Act) value of BidRequest. - UNKNOWN_COPPA: Doesn't filter BidRequest according to the coppa value. - ACCEPT_COPPA_ONLY: Bids to BidRequest with coppa=1. - DENY_COPPA: Bids to BidRequest with coppa=0 or empty coppa field.
        - `skan_traffic` 'UNKNOWN_SKAN' | 'TARGET_SKAN_ONLY' | 'TARGET_NON_SKAN' — Indicates whether to bid according to bid requests that support SKAN(SKAdNetwork) or not. - UNKNOWN_SKAN: Doesn't filter BidRequest according to support skan or not in this filter. - TARGET_SKAN_ONLY: Bids only for skan support traffic. - TARGET_NON_SKAN: Bids only for non-skan traffic.
        - `contains_custom_audience` boolean — Whether it contains a `custom_audience` targeting condition. The `custom_audience` targeting condition is legacy, and may contain some internal information. Therefore, we do not reveal them by the API but only signals its non-emptiness with this field.
        - `custom_audience_set` AudienceTargetingConditionCustomAudienceSet — CustomAudienceSet represents a group of target users to whom we're going to show an ad. CustomAudienceSet is consist of a dynamic (not pre-determined) set of target users based on App-events described in the postback messages and pre-defined CustomerSets.
          - `include_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `include_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
    - `capper` AdclouddspAdCapper — AdCapper represents capping settings for an AdGroup.
      - `imp_interval` CommonTimeDuration — Represents a time duration with an amount and a unit.
        - `amount` string, int64
        - `unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
    - `pricing_model_id` string — PricingModel id.
    - `creative_group_ids` string[] — CreativeGroup IDs. These CreativeGroups' Product IDs must match the Product ID of the current Campaign. A Campaign eligible for serving must have at least one enabled CreativeGroup with enabled Creatives.
    - `user_buckets` AdcloudcommonInterval[] — User buckets for traffic control.
      - `start` integer
      - `end` integer
    - `audience_extension` DspAdGroupAudienceExtension — AdGroupAudienceExtension holds the ad_group settings for PAS audience extension.
      - `paired_ad_group_id` string — Audience extension paired ad group id.
      - `is_secondary` boolean — True for the secondary ad_group, otherwise false.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
    - `aud_size` string, int64 — Original audience size information.
    - `matchable_aud_size` string, int64 — Matchable audience size information.
    - `last_aud_size_computed_at` string, date-time — Last updated time of the audience size information.
  - `postback_integration_status` DspPostbackIntegrationStatus
    - `device_os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE' — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
    - `country` string — Country to which the postback is integrated with. The field should conform to [ISO-3166-1 Alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) format e.g. "KOR", "USA". It is used for filtering bid requests by country name.
    - `complete_percentage` number, double — Integration completion percentage per each country.
    - `integration_success` boolean — The flag that specifies the integration is completed in any country.

## Other responses

- `default` — Error. Detailed cause can be found in the `details` field.

---

[API](https://skmtc.net/moloco/apis/moloco-ads-campaign-management-api.md) · [All operations](https://skmtc.net/moloco/apis/moloco-ads-campaign-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/moloco/moloco-ads-campaign-management-api/revisions/5c85d0910ac0/schema)
