---
updatedAt: 2026-06-08T03:35:06.000Z
agentTools:
  projectIndex: https://developer.moloco.cloud/llms.txt
---

# Create a new Campaign.

Create a new Campaign.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Moloco Ads Campaign Management API",
    "description": "Moloco Ads Campaign Management API provides functionalities for Moloco Ads Campaigns.",
    "version": "1.10",
    "contact": {
      "name": "Moloco Inc.",
      "url": "https://www.moloco.com"
    }
  },
  "paths": {
    "/cm/v1/campaigns": {
      "post": {
        "summary": "Create a new Campaign.",
        "description": "Create a new Campaign.",
        "operationId": "DspApi_CreateCampaign",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messagesCreateCampaignResponse"
                }
              }
            }
          },
          "default": {
            "description": "Error. Detailed cause can be found in the `details` field.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messagesCreateCampaignError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ad_account_id",
            "description": "The AdAccount ID which the Campaign belongs to.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "The Product ID which the Campaign belongs to.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/messagesCampaignInput"
              }
            }
          },
          "description": "The Campaign to create and its initial PayoutItem and AdGroup information.",
          "required": true
        },
        "tags": [
          "Campaign"
        ]
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "servers": [
    {
      "url": "https://api.moloco.cloud"
    }
  ],
  "components": {
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    },
    "schemas": {
      "AudienceTargetingConditionCoppaAcceptance": {
        "type": "string",
        "enum": [
          "UNKNOWN_COPPA",
          "ACCEPT_COPPA_ONLY",
          "DENY_COPPA"
        ],
        "default": "UNKNOWN_COPPA",
        "description": "Indicates whether to bid according to the COPPA(Children's Online Privacy Protection Act)\nvalue of BidRequest.\n\n - UNKNOWN_COPPA: Doesn't filter BidRequest according to the coppa value.\n - ACCEPT_COPPA_ONLY: Bids to BidRequest with coppa=1.\n - DENY_COPPA: Bids to BidRequest with coppa=0 or empty coppa field."
      },
      "AudienceTargetingConditionCustomAudienceSet": {
        "type": "object",
        "properties": {
          "include_having_all": {
            "$ref": "#/components/schemas/CustomAudienceSetCustomAudienceCondition",
            "description": "This will include a customer only if all of the listed conditions are satisfied.\nNote that it is not allowed to set include_having_all and include_having_any at the same time."
          },
          "include_having_any": {
            "$ref": "#/components/schemas/CustomAudienceSetCustomAudienceCondition",
            "description": "This will include a customer if at least one condition from the listed conditions is satisfied."
          },
          "exclude_having_all": {
            "$ref": "#/components/schemas/CustomAudienceSetCustomAudienceCondition",
            "description": "This will exclude a customer only if all of the listed conditions are satisfied.\nNote that it is not allowed to set exclude_having_all and exclude_having_any at the same time."
          },
          "exclude_having_any": {
            "$ref": "#/components/schemas/CustomAudienceSetCustomAudienceCondition",
            "description": "This will exclude a customer if at least one condition from the listed conditions is satisfied."
          }
        },
        "description": "CustomAudienceSet represents a group of target users to whom we're going to show an ad.\nCustomAudienceSet is consist of a dynamic (not pre-determined)\nset of target users based on App-events described in the postback messages\nand pre-defined CustomerSets."
      },
      "AudienceTargetingConditionDeviceOsFilter": {
        "type": "object",
        "properties": {
          "os": {
            "$ref": "#/components/schemas/commonDeviceOs",
            "description": "Device OS."
          },
          "min_version": {
            "type": "string"
          },
          "max_version": {
            "type": "string"
          }
        },
        "description": "Device OS and version filter condition.",
        "required": [
          "os"
        ]
      },
      "AudienceTargetingConditionLocationFilter": {
        "type": "object",
        "properties": {
          "cities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "zipcodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "geofences": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonCircle"
            }
          }
        },
        "description": "LocationFilter represents a geolocationcal condition using different related conditions.\nThe condition will be met if any of the listed conditions is met."
      },
      "AudienceTargetingConditionLocationSet": {
        "type": "object",
        "properties": {
          "osm_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "int64"
            },
            "description": "OpenStreetMap IDs to represent areas to target."
          },
          "zipcodes": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/LocationSetZipCodeSet"
            }
          }
        },
        "description": "LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is\nused."
      },
      "AudienceTargetingConditionMediaChannelType": {
        "type": "string",
        "enum": [
          "UNKNOWN_MEDIA_CHANNEL_TYPE",
          "APP",
          "WEB"
        ],
        "default": "UNKNOWN_MEDIA_CHANNEL_TYPE",
        "description": " - UNKNOWN_MEDIA_CHANNEL_TYPE: This value is not part of the specification."
      },
      "AudienceTargetingConditionNewUserFilter": {
        "type": "object",
        "properties": {
          "last_n_days": {
            "type": "integer",
            "format": "int32",
            "description": "Target only new users with earliest known activities falling into the window of last N days."
          }
        },
        "description": "Filter to target new users only.",
        "required": [
          "last_n_days"
        ]
      },
      "AudienceTargetingConditionPlacementReason": {
        "type": "string",
        "enum": [
          "UNKNOWN_PLACEMENT_REASON",
          "REASON_BRAND_SAFETY",
          "REASON_PERFORMANCE_IMPROVEMENT",
          "REASON_AGE_RESTRICTION",
          "REASON_FRAUD",
          "REASON_OWN_APP_CROSS_PROMOTION_BLOCKING",
          "REASON_NOT_OPERATING_IN_A_SPECIFIC_LOCATION",
          "REASON_INCREMENTALITY_TESTING",
          "REASON_OTHER"
        ],
        "default": "UNKNOWN_PLACEMENT_REASON",
        "description": "The reason of the placement. It is used to track the reason why customers set the allowed or blocked app's."
      },
      "AudienceTargetingConditionRecentCampaignActivityFilter": {
        "type": "object",
        "properties": {
          "event": {
            "$ref": "#/components/schemas/adcloudcommonEventType",
            "description": "Event type for the Campaign activities to filter on."
          },
          "campaign_id": {
            "type": "string",
            "description": "ID of the Campaign to filter on."
          },
          "last_n_days": {
            "type": "integer",
            "format": "int32",
            "description": "Target only new users with earliest known activities falling into the window of last N days."
          }
        },
        "description": "Recent Campaign activities for the targeted user.",
        "required": [
          "event",
          "campaign_id",
          "last_n_days"
        ]
      },
      "AudienceTargetingConditionSkanTraffic": {
        "type": "string",
        "enum": [
          "UNKNOWN_SKAN",
          "TARGET_SKAN_ONLY",
          "TARGET_NON_SKAN"
        ],
        "default": "UNKNOWN_SKAN",
        "description": "Indicates whether to bid according to bid requests that support SKAN(SKAdNetwork) or not.\n\n - UNKNOWN_SKAN: Doesn't filter BidRequest according to support skan or not in this filter.\n - TARGET_SKAN_ONLY: Bids only for skan support traffic.\n - TARGET_NON_SKAN: Bids only for non-skan traffic."
      },
      "AudienceTargetingConditionWeeklyScheduleFilter": {
        "type": "object",
        "properties": {
          "timezone_policy": {
            "$ref": "#/components/schemas/adcloudcommonTimezonePolicy",
            "description": "Timezone Policy to apply."
          },
          "hour_range": {
            "$ref": "#/components/schemas/adcloudcommonInterval",
            "description": "Hour range for each day specified below. It's required and both start and end values\nmust be in the range of [0, 23]."
          },
          "days": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/adcloudcommonDayOfWeek"
            },
            "description": "Days of week to filter on. At least one is required."
          }
        },
        "description": "WeeklyScheduleFilter specifies a time range on certain days of a week.",
        "required": [
          "days"
        ]
      },
      "CampaignGoalOptimizeAppInstalls": {
        "type": "object",
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppInstallsMode",
            "description": "Optimization mode."
          },
          "target_cpi": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cost per install in AdAccount-wide currency. Required when the mode is TARGET_CPI_CENTRIC."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC.\nThe rate should be in (0, 2]."
          },
          "margin": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC.\nThe rate should be in [-1.0, 1.0]."
          }
        }
      },
      "CampaignGoalOptimizeAppInstallsMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "TARGET_CPI_CENTRIC",
          "BUDGET_CENTRIC",
          "MARGIN_CENTRIC",
          "FIXED"
        ],
        "default": "UNKNOWN_MODE",
        "description": " - FIXED: Read-only for AdCloud."
      },
      "CampaignGoalOptimizeAppReattribution": {
        "type": "object",
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppReattributionMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nThe rate should be in (0, 2]."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_REATTRIBUTION_FOR_APP goal."
      },
      "CampaignGoalOptimizeAppReattributionMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeAppRetention": {
        "type": "object",
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppRetentionMode",
            "description": "Optimization mode."
          },
          "target_cpi": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cost per install in AdAccount-wide currency.\nRequired when the mode is BUDGET_CENTRIC and rate is unset."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nRequired when the mode is BUDGET_CENTRIC and target_cpi is unset.\nThe rate should be in (0, 2]."
          },
          "margin": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the margin for the autopilot to spend.\nRequired when the mode is MARGIN_CENTRIC.\nThe rate should be in [-1.0, 1.0]."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_RETENTION_FOR_APP_UA goal."
      },
      "CampaignGoalOptimizeAppRetentionMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC",
          "MARGIN_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeAppRoas": {
        "type": "object",
        "properties": {
          "target_roas": {
            "type": "number",
            "format": "double",
            "description": "Target return on advertising spend (ROAS) in percent.\nFor example, a value 312.5 denotes 312.5% ROAS."
          },
          "revenue_actions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "In-app action events having revenue value the AdAccount wants to achieve.\n\nRemarkable notes:\n- Case-sensitive as specified in the post-back from MMP.\n- ROAS computation will rely on the accompanied revenue value to each action."
          },
          "target_cpi": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cost per install in AdAccount-wide currency.\n\nRemarkable notes:\n- As of June 2019, this value is meaningful only for Campaigns of APP_USER_ACQUISITION type."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppRoasMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend. Required when the mode is BUDGET_CENTRIC.\nThe rate should be in (0, 2]."
          },
          "margin": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the margin for the autopilot to spend. Required when the mode is MARGIN_CENTRIC.\nThe rate should be in [-1.0, 1.0]."
          }
        },
        "required": [
          "revenue_actions"
        ]
      },
      "CampaignGoalOptimizeAppRoasMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC",
          "MARGIN_CENTRIC",
          "TARGET_PRIMARY_KPI_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeClicksToApp": {
        "type": "object",
        "properties": {
          "target_cpc": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cost per click in AdAccount-wide currency.\nRequired when the mode is TARGET_CPC_CENTRIC."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeClicksToAppMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "Budget-centric uses one ratio of daily budget for the autopilot to spend. It's only for DCPM.\nRequired when the mode is BUDGET_CENTRIC.\nIts rate should be in (0, 2]."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_CPC_FOR_APP_UA goal."
      },
      "CampaignGoalOptimizeClicksToAppMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC",
          "TARGET_CPC_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeClicksToWeb": {
        "type": "object",
        "properties": {
          "target_cpc": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cost per click in AdAccount-wide currency.\nRequired when the mode is TARGET_CPC_CENTRIC."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeClicksToWebMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "Budget-centric uses one ratio of daily budget for the autopilot to spend. It's only for DCPM.\nRequired when the mode is BUDGET_CENTRIC.\nIts rate should be in (0, 2]."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_CPC_FOR_WEB_VISIT goal."
      },
      "CampaignGoalOptimizeClicksToWebMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC",
          "TARGET_CPC_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeCpaForAppRe": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "In-app action events the AdAccount wants to optimize.\n\nRemarkable notes:\n- Case-sensitive as specified in the post-back from MMP."
          },
          "reengagement_action": {
            "type": "string",
            "description": "Re-engagement action to measure re-engaging a user. This action is\nalso used as a cohort base action."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaForAppReMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nRequired when the mode is BUDGET_CENTRIC.\nThe rate should be in (0, 2]."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_CPA_FOR_APP_RE goal.",
        "required": [
          "action"
        ]
      },
      "CampaignGoalOptimizeCpaForAppReMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeCpaForAppUa": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "In-app action events having revenue value the AdAccount wants to achieve.\n\nRemarkable notes:\n- Case-sensitive as specified in the post-back from MMP."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaForAppUaMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nRequired when the mode is BUDGET_CENTRIC.\nThe rate should be in (0, 2]."
          },
          "margin": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the margin for the autopilot to spend.\nRequired when the mode is MARGIN_CENTRIC.\nThe rate should be in [-1.0, 1.0]."
          },
          "target_kpi": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Read-only. Operational target KPI value set by System.\nPopulated when the mode is TARGET_PRIMARY_KPI_CENTRIC.",
            "readOnly": true
          }
        },
        "description": "Detailed configuration of OPTIMIZE_CPA_FOR_APP_UA goal.",
        "required": [
          "action"
        ]
      },
      "CampaignGoalOptimizeCpaForAppUaMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC",
          "MARGIN_CENTRIC",
          "TARGET_PRIMARY_KPI_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeCpaForWebUa": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "Web action events having revenue value the AdAccount wants to achieve.\n\nRemarkable notes:\n- Case-sensitive as specified in the post-back from MMP.\nNote(jiyeon): Currently, we optimize `install` events regardless of this action."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaForWebUaMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nThe rate should be in (0, 2]."
          }
        },
        "required": [
          "action"
        ]
      },
      "CampaignGoalOptimizeCpaForWebUaMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeCpaRepeatedForAppUa": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "In-app action events the AdAccount wants to optimize.\nRemarkable notes:\n- Case-sensitive as specified in the post-back from MMP."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaRepeatedForAppUaMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nRequired when the mode is BUDGET_CENTRIC.\nThe rate should be in (0, 2]."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_CPA_REPEATED_FOR_APP_UA goal.",
        "required": [
          "action"
        ]
      },
      "CampaignGoalOptimizeCpaRepeatedForAppUaMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeCpcForAppRe": {
        "type": "object",
        "properties": {
          "target_cpc": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cost per click in AdAccount-wide currency.\nRequired when the mode is TARGET_CPC_CENTRIC."
          },
          "reengagement_action": {
            "type": "string",
            "description": "Re-engagement action to measure re-engaging a user. This action is\nalso used as a cohort base action."
          },
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpcForAppReMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nThe rate should be in (0, 2].\nRequired when the mode is BUDGET_CENTRIC."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_CPC_FOR_APP_RE goal."
      },
      "CampaignGoalOptimizeCpcForAppReMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC",
          "TARGET_CPC_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeFixedCpm": {
        "type": "object",
        "properties": {
          "target_cpm": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cost per click in AdAccount-wide currency."
          }
        },
        "description": "Detailed configuration of FIXED_CPM_* goal.",
        "required": [
          "target_cpm"
        ]
      },
      "CampaignGoalOptimizeFixedCpmPacing": {
        "type": "object",
        "properties": {
          "target_cpm": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Target cpm in USD currency (Not in AdAccount currency)."
          },
          "pacing_mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeFixedCpmPacingPacingMode"
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "Budget consume rate.\nThe rate should be in (0, 2]."
          }
        },
        "description": "General fixed-cpm goal with pacing option.\nCurrently for FIXED_CPM_FOR_CTV and FIXED_CPM_GENERIC.",
        "required": [
          "target_cpm"
        ]
      },
      "CampaignGoalOptimizeFixedCpmPacingPacingMode": {
        "type": "string",
        "enum": [
          "NONE",
          "BY_FREQUENCY"
        ],
        "default": "NONE",
        "description": "Force pacing option."
      },
      "CampaignGoalOptimizeLandingForWebUa": {
        "type": "object",
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeLandingForWebUaMode",
            "description": "Optimization mode."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nThe rate should be in (0, 2]."
          }
        }
      },
      "CampaignGoalOptimizeLandingForWebUaMode": {
        "type": "string",
        "enum": [
          "UNKNOWN_MODE",
          "BUDGET_CENTRIC"
        ],
        "default": "UNKNOWN_MODE"
      },
      "CampaignGoalOptimizeRoasForAppRe": {
        "type": "object",
        "properties": {
          "target_roas": {
            "type": "number",
            "format": "double",
            "description": "Target return on advertising spend (ROAS) in percent.\nFor example, a value 312.5 denotes 312.5% ROAS."
          },
          "reengagement_action": {
            "type": "string",
            "description": "Re-engagement action to measure re-engaging a user. This action is\nalso used as a cohort base action."
          },
          "revenue_actions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "In-app action events having revenue value the AdAccount wants to achieve.\n\nRemarkable notes:\n- Case-sensitive as specified in the post-back from MMP.\n- ROAS computation will rely on the accompanied revenue value to each action."
          },
          "rate": {
            "type": "number",
            "format": "double",
            "description": "The ratio of the daily budget for the autopilot to spend.\nThe rate should be in (0, 2]."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_ROAS_FOR_APP_RE goal.",
        "required": [
          "revenue_actions"
        ]
      },
      "CampaignServingStatus": {
        "type": "object",
        "properties": {
          "serving_blocked": {
            "type": "boolean",
            "description": "serving_blocked is true when this campaign is blocked in the serving side for some reason."
          },
          "serving_blocked_timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp of the latest serving block."
          }
        },
        "description": "ServingStatus stores current serving status of the campaign, such as whether it is blocked and when it is blocked."
      },
      "CustomAudienceSetApp": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string",
            "description": "The ID of the Product."
          },
          "sliding_window_duration": {
            "$ref": "#/components/schemas/commonTimeDuration",
            "description": "The duration of time for which this condition is effective before now."
          }
        },
        "description": "App matches a user based on app engagement within a time window.\nUse AppEvent when targeting a specific event by name."
      },
      "CustomAudienceSetAppEvent": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string",
            "description": "The ID of the Product of which PostbackIntegration info is used."
          },
          "event": {
            "type": "string",
            "description": "A case-sensitive string name of an event. (e.g. install, purchase)."
          },
          "sliding_window_duration": {
            "$ref": "#/components/schemas/commonTimeDuration",
            "description": "The duration of time for which this condition is effective before now."
          }
        }
      },
      "CustomAudienceSetCustomAudienceCondition": {
        "type": "object",
        "properties": {
          "app_events": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/CustomAudienceSetAppEvent"
            }
          },
          "user_lists": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of pre-defined CustomerSets.\nIP CustomerSet is not included."
          },
          "apps": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/CustomAudienceSetApp"
            },
            "description": "Matches users by app engagement regardless of event type."
          }
        }
      },
      "LaunchNoticeNoticeMessage": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "UNKNOWN_MESSAGE",
        "description": "- UNKNOWN_MESSAGE: Default fallback for unrecognized message types.\n - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: MMP Probabilistic Attribution (PA) is disabled. User should enable PA from MMP side.\n - MMP_VIEW_THROUGH_PROBABILISTIC_ATTRIBUTION_STATUS_DISABLED: View-Through Probabilistic Attribution (VT PA) is disabled in MMP settings.\n - MMP_ADVANCED_PRIVACY_STATUS_ENABLED: Appsflyer Advanced Privacy is currently enabled.\n - MMP_PROBABILISTIC_ATTRIBUTION_STATUS_UNKNOWN: The current status of Probabilistic Attribution cannot be determined.\n - CAMPAIGN_WILL_PAUSE_IF_ADVANCED_PRIVACY_ENABLED_AFTER_48H: The campaign is scheduled to pause in 48 hours if Advanced Privacy remains enabled.",
        "title": "NoticeMessage indicates the message user should confirm"
      },
      "LaunchNoticeNoticeType": {
        "type": "string",
        "enum": [
          "UNKNOWN",
          "WARNING",
          "DISCLAIMER"
        ],
        "default": "UNKNOWN",
        "description": "NoticeType defines the severity or category of the notice.\n\n - WARNING: Warning: Informational message that does not block the launch but requires attention.\n - DISCLAIMER: Disclaimer: Explicit agreement or acknowledgement is required from the user."
      },
      "LocationSetZipCodeSet": {
        "type": "object",
        "properties": {
          "zipcodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Zipcodes to represent areas to target."
          },
          "country": {
            "type": "string",
            "description": "Uppercase Country code in ISO 3166-1 alpha-2."
          }
        }
      },
      "SKAdNetworkInputCustomOption": {
        "type": "string",
        "enum": [
          "UNKNOWN_SKAN_CUSTOM_OPTION",
          "SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE",
          "SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE",
          "SKAN_CUSTOM_OPTION_NON_ATTRIBUTABLE",
          "SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE"
        ],
        "default": "UNKNOWN_SKAN_CUSTOM_OPTION",
        "description": "CustomOption enumerates all the available traffic.\nWhile the targeting_state other than 'TARGET_CUSTOM' is a pre-defined set of traffic,\nCustomOption enables configuring the targeted traffic in a custom way.\n\nThis value is not part of the specification.\n\n - SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE: This option target traffic which is iOS < 14.5 and SKAdNetwork incompatible.\n - SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE: This option target traffic which is iOS < 14.5 and SKAdNetwork compatible.\n - SKAN_CUSTOM_OPTION_NON_ATTRIBUTABLE: This option target traffic which is iOS >= 14.5 and SKAdNetwork incompatible.\n - SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE: This option target traffic which is iOS >= 14.5 and SKAdNetwork compatible."
      },
      "SKAdNetworkInputTargetingState": {
        "type": "string",
        "enum": [
          "UNKNOWN_TARGETING_STATE",
          "TARGET_DO_NOT_CARE",
          "TARGET_ALL",
          "TARGET_SKADN_ONLY",
          "TARGET_NON_SKADN_ONLY",
          "TARGET_CUSTOM"
        ],
        "default": "UNKNOWN_TARGETING_STATE",
        "description": "Enumeration of all supported targeting state w.r.t SKAdNetwork traffic.\nTARGET_ALL, TARGET_SKADN_ONLY, TARGET_NON_SKADN_ONLY is a predefined set of traffic.\nTARGET_CUSTOM is to support DIY configuration of traffic.\n\nThis value is not part of the specification.\n\n - TARGET_DO_NOT_CARE: Do not care whether the Campaign targets SKAdNetwork traffic or not.\n - TARGET_ALL: Target all traffic including SKAdNetwork and others.\nIt includes SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE.\n - TARGET_SKADN_ONLY: Target only SKAdNetwork traffic.\nIt includes SKAN_CUSTOM_OPTION_SKAN_ATTRIBUTABLE.\n - TARGET_NON_SKADN_ONLY: Target only non-SKAdNetwork traffic.\nIt includes SKAN_CUSTOM_OPTION_MMP_ATTRIBUTABLE, SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE.\n - TARGET_CUSTOM: Target customized configuration traffic.\nWhen the targeting_state is set with this value, then custon_options should be also set."
      },
      "adcloudcommonCreativeType": {
        "type": "string",
        "enum": [
          "UNKNOWN_CREATIVE_TYPE",
          "IMAGE_BANNER",
          "IMAGE_INTERSTITIAL",
          "VIDEO_BANNER",
          "VIDEO_INTERSTITIAL",
          "NATIVE_LOGO",
          "NATIVE_VIDEO",
          "NATIVE_IMAGE",
          "CUSTOM_HTML_BANNER",
          "CUSTOM_HTML_INTERSTITIAL",
          "TEMPLATE_HTML_BANNER",
          "TEMPLATE_HTML_INTERSTITIAL",
          "RICH_CUSTOM_HTML_BANNER",
          "RICH_CUSTOM_HTML_INTERSTITIAL",
          "DYNAMIC_HTML_BANNER",
          "DYNAMIC_HTML_INTERSTITIAL"
        ],
        "default": "UNKNOWN_CREATIVE_TYPE",
        "description": "Enumeration of creative types supported by Moloco Ads.\n\nThis value is not part of the specification."
      },
      "adcloudcommonCurrency": {
        "type": "string",
        "enum": [
          "UNKNOWN_CURRENCY",
          "USD",
          "KRW",
          "JPY",
          "EUR",
          "GBP"
        ],
        "default": "UNKNOWN_CURRENCY",
        "description": "Enumeration of currencies supported by Moloco Ads.\n\nThis value is not part of the specification.\n\n - USD: US Dollar.\n - KRW: Korean Won.\n - JPY: Japanese Yen.\n - EUR: EU Euro.\n - GBP: British Pound."
      },
      "adcloudcommonDayOfWeek": {
        "type": "string",
        "enum": [
          "UNKNOWN_DAY_OF_WEEK",
          "MON",
          "TUE",
          "WED",
          "THU",
          "FRI",
          "SAT",
          "SUN"
        ],
        "default": "UNKNOWN_DAY_OF_WEEK",
        "description": "Enumeration for week days.\n\nThis value is not part of the specification."
      },
      "adcloudcommonEventType": {
        "type": "string",
        "enum": [
          "UNKNOWN_EVENT_TYPE",
          "BID_MADE",
          "BID_WON",
          "IMPRESSION",
          "IMPRESSION_EXTRA",
          "CLICK",
          "INSTALL",
          "CUSTOM"
        ],
        "default": "UNKNOWN_EVENT_TYPE",
        "description": "Enumeration of event types supported by Moloco Ads.\n\nThis value is not part of the specification.\n\n - BID_MADE: A bid has been made for a bid request.\n - BID_WON: The bid has won the auction.\n - IMPRESSION: The ad impression has been served to the user.\n - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown.\n - CLICK: The ad has been clicked by the user.\n - INSTALL: The ad impression or click has been attributed with an app install.\n - CUSTOM: Custom actions that happen after install."
      },
      "adcloudcommonFloatingPointRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": "number",
            "format": "double"
          },
          "end": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "adcloudcommonInterval": {
        "type": "object",
        "properties": {
          "start": {
            "type": "integer",
            "format": "int32"
          },
          "end": {
            "type": "integer",
            "format": "int32"
          }
        },
        "description": "Interval represents a contiguous integer range [start, end)."
      },
      "adcloudcommonMoney": {
        "type": "object",
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/adcloudcommonCurrency"
          },
          "amount_micros": {
            "type": "string",
            "format": "int64"
          }
        },
        "description": "Represents a monetary amount in micros for a specified currency. It's the amount in\nthe specified currency's base denomination unit multiplied with 1 million.\n\nBoth currency and amount are required."
      },
      "adcloudcommonTimezonePolicy": {
        "type": "string",
        "enum": [
          "UNKNOWN_TIME",
          "DEVICE_TIME",
          "UTC_TIME",
          "AD_ACCOUNT_TIME",
          "ADVERTISER_TIME"
        ],
        "default": "UNKNOWN_TIME",
        "description": "TimezonePolicy defines the time configuration.\n\n - DEVICE_TIME: Time object is given in the device's time (depends on user device timezone).\n - UTC_TIME: Time object is given in the fixed UTC time (depends on nothing).\n - AD_ACCOUNT_TIME: Given time is given in fixed ad account time (depends on ad account timezone)."
      },
      "adcloudcommonTrackingCompany": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "UNKNOWN_TRACKING_COMPANY",
        "description": "Enumeration for tracking companies supported by Moloco Ads.\n\n - WEB: Unnamed trackers\n - AIRBRIDGE: Moloco's e2e tracker (test purpose only)\n - KOCHAVA_FOR_PUBLISHER: Kochava's CTV to web event dedicated tracking company."
      },
      "adclouddspAdCapper": {
        "type": "object",
        "properties": {
          "imp_interval": {
            "$ref": "#/components/schemas/commonTimeDuration",
            "description": "Cooling time interval between impressions to a user.\nIf not specified, the API set the default value of 1 hour."
          }
        },
        "description": "AdCapper represents capping settings for an AdGroup."
      },
      "adclouddspAudience": {
        "type": "object",
        "properties": {
          "shared_audience_target_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of IDs for the named AudienceTargets referenced by this audience specification."
          },
          "targeting_condition": {
            "$ref": "#/components/schemas/dspAudienceTargetingCondition",
            "description": "Ad-hoc AudienceTargeting condition constructed for this audience specification only."
          }
        },
        "description": "Audience is a final form of AudienceTargeting specification.\nIt is represented by a list of IDs of SharedAudienceTargets and an ad-hoc target condition.\nAll conditions in the audience specification must be met to accept a bid-request.\n\nIDs of the SharedAudienceTargets can be either at global or AdAccount level."
      },
      "commonAdExchange": {
        "type": "string",
        "enum": [
          "UNKNOWN_AD_EXCHANGE",
          "MOPUB",
          "ADX",
          "ADMIXER",
          "SMAATO",
          "RUBICON",
          "EXELBID",
          "BRIGHTROLL",
          "CAULYRTB",
          "ADLIB",
          "ORION",
          "MOLOCO",
          "ADOP",
          "APPLOVIN",
          "FYBER",
          "SAMSUNG",
          "ADCOLONY",
          "POLYMORPH",
          "CHARTBOOST",
          "MANPLUS",
          "KAKAO",
          "UNITY",
          "FYBERCORE",
          "ADGENERATION",
          "SAMSUNGPAY",
          "NHN",
          "ADPOPCORN",
          "OPENX",
          "VUNGLE",
          "ADALPHA",
          "BYTEDANCE",
          "NAVER",
          "INMOBI",
          "SIGNALPLAY",
          "ACUITY",
          "IRONSOURCE",
          "PUBMATIC",
          "BAIDU",
          "FLUCT",
          "FIVE",
          "APPODEAL",
          "ADPIE",
          "MOBILITYWARE",
          "TPMN",
          "PUBNATIVE",
          "TAPJOY",
          "MOMENTO",
          "BIDENCE",
          "APS",
          "INDEX",
          "IQZONE",
          "STARTIO",
          "FLOWER",
          "ONESTORE",
          "NIMBUS",
          "AEQUUS",
          "MCTV",
          "MINTEGRAL",
          "MOLOCO_SDK_APPLOVIN",
          "MOLOCO_SDK_IRONSOURCE",
          "PANGLE",
          "MAGNITE",
          "MOLOCO_SDK_X3MADS",
          "FREE_WHEEL",
          "MOLOCO_SDK_ADMOB",
          "ADX_RTB",
          "XIAOMI",
          "MOLOCO_SDK_CREATIVE_TEST",
          "MOLOCO_SDK_MAX",
          "MOLOCO_SDK_LEVELPLAY",
          "NEXXEN",
          "MOLOCO_SDK_ADMOB_MEDIATION",
          "MOLOCO_SDK",
          "MOLOCO_SDK_IN_HOUSE_MEDIATION",
          "TABOOLA",
          "CRITEO",
          "MOLOCO_SDK_DIRECT_AD",
          "APX1",
          "DIRECT_AD",
          "BIGO",
          "CAS",
          "TUBI"
        ],
        "default": "UNKNOWN_AD_EXCHANGE",
        "description": "Enumeration of ad exchanges supported by Moloco Ads.\n\n - SIGNALPLAY: MANPLUS == SIGNALPLAY. just added for distinguishing video and banner report\n - MOLOCO_SDK: Used for a consolidated MOLOCO SDK exchange.\n - APX1: APX1 is LINE's anonymized exchange name (renamed from LINE - no production traffic, direct replacement)"
      },
      "commonAdvertiserIdType": {
        "type": "string",
        "enum": [
          "UNKNOWN_ADVERTISER_ID_TYPE",
          "ANDROID_IDFA",
          "IOS_IDFA",
          "GENERIC_USER_ID",
          "GENERIC_DEVICE_ID",
          "ANDROID_LAT_IDFA",
          "IOS_LAT_IDFA"
        ],
        "default": "UNKNOWN_ADVERTISER_ID_TYPE",
        "description": "Enumeration of supported ID types for advertises.\n\nThis value is not part of the specification.\n\n - ANDROID_IDFA: IDFA used in Android.\n - IOS_IDFA: IDFA used in iOS.\n - GENERIC_USER_ID: This is used when IDFA is unavailable and an alternative user id is available.\nFor example, Google's adid is used for mobile web inventories.\n - GENERIC_DEVICE_ID: This is used when IDFA is unavailable and an alternative device id is available.\nFor example, Mopub sends out device id in some apps.\n - ANDROID_LAT_IDFA: infra-generating IDFA used for Android LAT devices\n - IOS_LAT_IDFA: infra-generating IDFA used for iOS LAT devices"
      },
      "commonAudienceData": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "title": "Data provider's unique name"
          },
          "condition": {
            "type": "string",
            "title": "SQL like condition statement for filtering powered by qlbridge library.\nRef. https://github.com/araddon/qlbridge"
          }
        },
        "description": "Audience Data. It is a filter based on AudienceData stored in UPT."
      },
      "commonBannerApi": {
        "type": "string",
        "enum": [
          "UNKNOWN_BANNER_API",
          "MRAID_2"
        ],
        "default": "UNKNOWN_BANNER_API",
        "title": "Banner API"
      },
      "commonCircle": {
        "type": "object",
        "properties": {
          "center": {
            "$ref": "#/components/schemas/commonLatLng"
          },
          "radius": {
            "type": "number",
            "format": "double"
          }
        },
        "description": "Circle defines a circle with a center geo location and radius in km."
      },
      "commonDeviceOs": {
        "type": "string",
        "enum": [
          "UNKNOWN_DEVICE_OS",
          "ANDROID",
          "IOS",
          "VERSATILE",
          "MOBILE_WEB",
          "MACOS",
          "WINDOWS",
          "NEXT_VERSATILE"
        ],
        "default": "UNKNOWN_DEVICE_OS",
        "description": "Enumeration of device OS types supported by Moloco Ads.\n\nThis value is not part of the specification.\n\n - ANDROID: Android device OS.\n - IOS: iOS device OS.\n - VERSATILE: Product with multiple OSes.\nSpecifically for CTV.\n - MOBILE_WEB: OS for mobile web traffic.\n - MACOS: OS for MacOS traffic.\n - WINDOWS: OS for Windows traffic.\n - NEXT_VERSATILE: OS for Next web product."
      },
      "commonDeviceType": {
        "type": "string",
        "enum": [
          "UNKNOWN_DEVICE_TYPE",
          "MOBILE",
          "PERSONAL_COMPUTER",
          "CONNECTED_TV",
          "HIGHEND_PHONE",
          "TABLET",
          "CONNECTED_DEVICE",
          "SET_TOP_BOX"
        ],
        "default": "UNKNOWN_DEVICE_TYPE",
        "description": "Enumeration of device types supported by Moloco Ads.\n\nThis value is not part of the specification."
      },
      "commonDisplayManagerVersion": {
        "type": "object",
        "properties": {
          "min": {
            "type": "string"
          },
          "max": {
            "type": "string"
          }
        },
        "description": "Display Manager Version."
      },
      "commonEnablingState": {
        "type": "string",
        "enum": [
          "UNSPECIFIED",
          "ENABLED",
          "DISABLED"
        ],
        "default": "UNSPECIFIED",
        "description": "Enumeration of the enabling states with a default UNSPECIFIED state."
      },
      "commonGender": {
        "type": "string",
        "enum": [
          "UNKNOWN_GENDER",
          "FEMALE",
          "MALE"
        ],
        "default": "UNKNOWN_GENDER",
        "description": "Enumeration of gender types.\n\nThis value is not part of the specification."
      },
      "commonLatLng": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          }
        },
        "description": "Point defines a geo location by latitude, longitude."
      },
      "commonLaunchNotice": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/LaunchNoticeNoticeType",
            "description": "The type of the notice."
          },
          "message": {
            "$ref": "#/components/schemas/LaunchNoticeNoticeMessage",
            "description": "The message for the notice."
          }
        },
        "description": "LaunchNotice contains notice information to be confirmed when launching a campaign."
      },
      "commonPostbackEventCount": {
        "type": "object",
        "properties": {
          "app_bundle": {
            "type": "string"
          },
          "range": {
            "$ref": "#/components/schemas/adcloudcommonInterval"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "description": "Postback Event Count. It specifies an interval for a list of events from an app bundle."
      },
      "commonPostbackEventsCondition": {
        "type": "object",
        "properties": {
          "audiences": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Audience name. i.e. app bundle."
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of events such as install and purchase."
          },
          "past_time_range": {
            "$ref": "#/components/schemas/adcloudcommonInterval",
            "description": "Past time range for a postback event."
          },
          "past_time_range_unit": {
            "$ref": "#/components/schemas/commonTimeUnit",
            "description": "The unit for past_time_range.\nIn PostbackEventsCondition, only DAY and MINUTE are used."
          },
          "range": {
            "$ref": "#/components/schemas/commonTimeInterval",
            "description": "Range for a postback event."
          },
          "short_term_user_profile": {
            "type": "boolean",
            "description": "If set, short-term user profile information is used to evaluate this condition."
          },
          "count_range": {
            "$ref": "#/components/schemas/adcloudcommonInterval",
            "description": "Accepted range of event count."
          }
        },
        "description": "Postback Events Condition."
      },
      "commonTagsThrottleCondition": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "throttle_rate": {
            "type": "number",
            "format": "float"
          }
        },
        "description": "Tags Thrrottle Condition. It specifies a throttle rate for a list of tags.\nAll the tags in a list will have same throttle rate."
      },
      "commonTimeDuration": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "format": "int64"
          },
          "unit": {
            "$ref": "#/components/schemas/commonTimeUnit"
          }
        },
        "description": "Represents a time duration with an amount and a unit."
      },
      "commonTimeInterval": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "format": "date-time",
            "description": "Start time in RFC3339 format, e.g. \"2017-04-01T12:34:56+00:00\"."
          },
          "end": {
            "type": "string",
            "format": "date-time",
            "description": "End time in RFC3339 format, e.g. \"2017-05-01-T21:09:08+00:00\"."
          }
        },
        "description": "Interval with start and end timestamps in RFC3339 format."
      },
      "commonTimeUnit": {
        "type": "string",
        "enum": [
          "UNKNOWN_TIME_UNIT",
          "MINUTE",
          "HOUR",
          "DAY",
          "WEEK"
        ],
        "default": "UNKNOWN_TIME_UNIT",
        "description": "A unit of time, e.g. second, minute, etc.\n\nThis value is not part of the specification."
      },
      "dspAdGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the AdGroup. Automatically set by server on creation."
          },
          "title": {
            "type": "string",
            "description": "A descriptive name of the AdGroup."
          },
          "campaign_id": {
            "type": "string",
            "description": "ID of the Campaign the AdGroup belongs to.",
            "readOnly": true
          },
          "product_id": {
            "type": "string",
            "description": "ID of the Product the AdGroup belongs to.",
            "readOnly": true
          },
          "ad_account_id": {
            "type": "string",
            "description": "ID of the AdAccount the AdGroup belongs to.",
            "readOnly": true
          },
          "experiment_id": {
            "type": "string",
            "description": "ID of the Experiment the AdGroup is involved in.",
            "readOnly": true
          },
          "enabling_state": {
            "$ref": "#/components/schemas/commonEnablingState",
            "description": "Whether this AdGroup is enabled. If the value of this field is unset or set to UNSPECIFIED\nin the AdGroup creation request, it will be set to ENABLED by default by the server.\n\nAn active AdGroup can be paused any time by setting this field to DISABLED."
          },
          "audience": {
            "$ref": "#/components/schemas/adclouddspAudience",
            "description": "If specified, audience describes AdGroup-level targeting conditions."
          },
          "capper": {
            "$ref": "#/components/schemas/adclouddspAdCapper",
            "description": "AdGroup wide capper."
          },
          "pricing_model_id": {
            "type": "string",
            "description": "PricingModel id.",
            "readOnly": true
          },
          "creative_group_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "CreativeGroup IDs.\nThese CreativeGroups' Product IDs must match the Product ID of the current Campaign.\nA Campaign eligible for serving must have at least one enabled CreativeGroup\nwith enabled Creatives."
          },
          "user_buckets": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/adcloudcommonInterval"
            },
            "description": "User buckets for traffic control."
          },
          "audience_extension": {
            "$ref": "#/components/schemas/dspAdGroupAudienceExtension",
            "description": "AudienceExtension settings for AdGroup."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Created time.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Last updated time. Should not modify on the client side."
          },
          "aud_size": {
            "type": "string",
            "format": "int64",
            "description": "Original audience size information.",
            "readOnly": true
          },
          "matchable_aud_size": {
            "type": "string",
            "format": "int64",
            "description": "Matchable audience size information.",
            "readOnly": true
          },
          "last_aud_size_computed_at": {
            "type": "string",
            "format": "date-time",
            "description": "Last updated time of the audience size information.",
            "readOnly": true
          }
        },
        "description": "AdGroup represents the seed information for a full AdGroup used by bidders.",
        "required": [
          "title"
        ]
      },
      "dspAdGroupAudienceExtension": {
        "type": "object",
        "properties": {
          "paired_ad_group_id": {
            "type": "string",
            "description": "Audience extension paired ad group id."
          },
          "is_secondary": {
            "type": "boolean",
            "description": "True for the secondary ad_group, otherwise false."
          }
        },
        "description": "AdGroupAudienceExtension holds the ad_group settings for PAS audience extension.",
        "readOnly": true
      },
      "dspAdTrackingAllowance": {
        "type": "string",
        "enum": [
          "UNKNOWN_AD_TRACKING_ALLOWANCE",
          "NON_LAT_ONLY",
          "LAT_ONLY",
          "DO_NOT_CARE"
        ],
        "default": "UNKNOWN_AD_TRACKING_ALLOWANCE",
        "description": "AdTrackingAllowance represents targeting conditions regarding\npersonalized ad tracking.\n\nThis value is not part of the specification.\n\n - NON_LAT_ONLY: Campaign will bid only to the traffic with IDFA as usual Campaigns.\n - LAT_ONLY: Campaign will bid only to the traffic without IDFA. Limited Ad Tracking only.\n - DO_NOT_CARE: Campaign will not care whether it has an IDFA or not. Default as of now."
      },
      "dspAudienceTargetingCondition": {
        "type": "object",
        "properties": {
          "allowed_countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed countries in ISO_3166-1_alpha-3 format."
          },
          "blocked_countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked countries in ISO_3166-1_alpha-3 format."
          },
          "placement_reasons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AudienceTargetingConditionPlacementReason"
            }
          },
          "custom_placement_reason": {
            "type": "string",
            "description": "The reason of the placement in free-form text."
          },
          "allowed_app_bundles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "App bundles. A bid-request having a matching publisher app bundle from the list\nwill be accepted.\n\nExample to target com.moloco.game or com.moloco.travel apps:\n\n  \"allowed_app_bundles\": [ \"com.moloco.game\", \"com.moloco.travel\" ]\n\nExample to exclude com.moloco.office app:\n\n  \"blocked_app_bundles\": [ \"com.moloco.office\" ]"
          },
          "blocked_app_bundles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "See the documentation for `allowed_app_bundles`."
          },
          "allowed_content_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Filter for allowed publisher IAB categories.\n\nValid category values can be found in section \"5.1 Content Categories\" in the \"OpenRTB API Specification\":\n   https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf\n\nFor example: \"allowed_content_categories\": [ \"IAB26-1\" ]"
          },
          "blocked_content_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Filter for blocked publisher IAB categories.\n\nValid category values can be found in section \"5.1 Content Categories\" in the \"OpenRTB API Specification\":\n   https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf\n\nFor example: \"blocked_content_categories\": [ \"IAB26-1\" ]"
          },
          "allowed_cities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed cities. A bid-request will be accepted when there is at least one\nmatch from the city list. Note that each element must be in\nthe form of \"city, region\" such as \"Seattle, WA\" in order to disambiguate\nthe same city but different regions. The entry is case-insensitive\nand whitespace will be ignored.\n\nExample to target Seattle or Newyork:\n\n  \"allowed_cities\": [ \"Seattle, WA\", \"Newyork, ny\" ]"
          },
          "blocked_cities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked cities."
          },
          "allowed_creative_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/adcloudcommonCreativeType"
            },
            "description": "Allowed Creative types."
          },
          "blocked_creative_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/adcloudcommonCreativeType"
            },
            "description": "Blocked Creative types."
          },
          "allowed_websites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed websites. A glob pattern can be used for matching. Ignored for app inventories.\n\nFor example: \"allowed_websites\": [ \"*youtube.com\" ]."
          },
          "blocked_websites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked websites. A glob pattern can be used for matching. Ignored for app inventories.\n\nFor example: \"blocked_websites\": [ \"*example.com\" ]."
          },
          "allowed_geofences": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonCircle"
            },
            "description": "Allowed geofences."
          },
          "blocked_geofences": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonCircle"
            },
            "description": "Blocked geofences."
          },
          "allowed_exchanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonAdExchange"
            },
            "description": "Allowed ad exchanges. Restricts targeting to bid only on the listed\nexchanges; an empty list places no restriction.\n\nMOLOCO_SDK is automatically included whenever the list is non-empty:\nsubmitting a non-empty list that omits MOLOCO_SDK will have it\nappended on the server side."
          },
          "blocked_exchanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonAdExchange"
            },
            "description": "Blocked ad exchanges. Excludes the listed exchanges from targeting.\n\nAdding MOLOCO_SDK to this list is rejected with PERMISSION_DENIED."
          },
          "allowed_idfas": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed user IDFAs. IDFA supports glob; e.g. use \"*f\" to match all IDFAs ending with \"f\"."
          },
          "blocked_idfas": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked user IDFAs. IDFA supports glob; e.g. use \"*f\" to match all IDFAs ending with \"f\"."
          },
          "allowed_zipcodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed zipcodes."
          },
          "blocked_zipcodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked zipcodes."
          },
          "allowed_device_models": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed device models.\n\nFor example:\n\n   \"allowed_device_models\": [ \"KFFOWI\", \"KFGIWI\", \"KFTT\", \"KFJWA\" ]"
          },
          "blocked_device_models": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked device models."
          },
          "allowed_user_audience_tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed user custom audience tags."
          },
          "blocked_user_audience_tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked user custom audience tags."
          },
          "allowed_languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed languages. Languages in use mostly follow ISO 639-1 code(https://www.loc.gov/standards/iso639-2/php/code_list.php),\ne.g. \"ko\" for Korean and \"en\" for English."
          },
          "blocked_languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked languages."
          },
          "allowed_device_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonDeviceType"
            },
            "description": "Allowed device types.\n\nFor example: \"allowed_device_types\": [ \"HIGHEND_PHONE\", \"TABLET\" ]"
          },
          "blocked_device_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonDeviceType"
            },
            "description": "Blocked device types.\n\nFor example: \"allowed_device_types\": [ \"SET_TOP_BOX\" ]"
          },
          "allowed_mostly_visited_countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "This filter checks user's history of mostly visited countries against the specified\ncountries in the condition, and passes a request if there is at least one common entry\nin both lists."
          },
          "blocked_mostly_visited_countries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allowed_regions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Regions are to filter a bid-request based on its region information."
          },
          "blocked_regions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allowed_recent_campaign_activities": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AudienceTargetingConditionRecentCampaignActivityFilter"
            },
            "description": "Recent Campaign activities filter a bid-request by user's recent activity such as click or install\nin the last n days. The filter is satisfied if there is at least one satisfying condition among the list.\n\nExample to target a user who has a click event for com.moloco.gameapp:\n\n   \"allowed_recent_campaign_activities\": [\n      {\n         \"campaign_id\": \"com.moloco.gameapp\",\n         \"event\": \"CLICK\"\n      }\n   ]\n\nExample to block a user who has a install event for com.moloco.officeapp within the past five days:\n\n   \"blocked_recent_campaign_activities\": [\n      {\n         \"campaign_id\": \"com.moloco.officeapp\",\n         \"event\": \"INSTALL\",\n         \"last_n_days\": 5\n      }\n   ]"
          },
          "blocked_recent_campaign_activities": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AudienceTargetingConditionRecentCampaignActivityFilter"
            }
          },
          "allowed_locations": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AudienceTargetingConditionLocationFilter"
            },
            "description": "Location filter targets specific geo-locational audience using combined conditions\nof different types such as city, region, zipcode and geofence."
          },
          "blocked_locations": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AudienceTargetingConditionLocationFilter"
            }
          },
          "genders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonGender"
            }
          },
          "connection_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Connection_types include ETHERNET, WIFI, CELL_UNKNOWN, CELL_2G, CELL_3G, CELL_4G.\n\nFor example: \"connection_types\": [ \"WIFI\", \"CELL_4G\" ]"
          },
          "allowed_direct_deal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of the allowed direct deals. A bid-request is accepted only if there is at least one matching id.\n\nFor example:\n\n   \"allowed_direct_deal_ids\": [\n      \"ip_9161499632014fe8b9ef60673a51b745\",\n      \"ip_e13c0cb23dd54a8ea742b2af61e0712d\",\n      \"ip_0cfeaebb190d47df8b86399232853e23\"\n   ]"
          },
          "blocked_direct_deal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of the blocked direct deals."
          },
          "device_oses": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AudienceTargetingConditionDeviceOsFilter"
            },
            "description": "Device OS requirements if specified."
          },
          "media_channel_type": {
            "$ref": "#/components/schemas/AudienceTargetingConditionMediaChannelType",
            "description": "Media channel types."
          },
          "new_users": {
            "$ref": "#/components/schemas/AudienceTargetingConditionNewUserFilter",
            "description": "Filter to target only new users.\n\nExample to accept a bid-request for new users with earliest known activities within the last 5 days:\n\n   \"new_users\": {\n      \"last_n_days\": 5\n   }"
          },
          "advertiser_id_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonAdvertiserIdType"
            },
            "description": "Filter on advising ID types, including \"ANDROID_IDFA\" or \"IOS_IDFA\"."
          },
          "allowed_video_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/dspAudienceTargetingConditionVideoType"
            },
            "description": "Video type filter. Ignored when the bid request is not for video ads."
          },
          "blocked_video_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/dspAudienceTargetingConditionVideoType"
            }
          },
          "weekly_schedules": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AudienceTargetingConditionWeeklyScheduleFilter"
            },
            "description": "Weekly schedule specifies more fine-grained time range filtering for days of a week. For example,\nthis list can be used to specify commute time ranges in the morning and evening on workdays.\n\nExample to target 7-9 am and 5-7 pm during week days:\n\n     \"weekly_schedules\": [\n        {\n           \"hour_range\": {\n              \"start\": 7,\n              \"end\": 9\n           },\n           \"days\": [ \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\" ]\n        },\n        {\n           \"hour_range\": {\n               \"start\": 17,\n               \"end\": 19\n           },\n           \"days\": [ \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\" ]\n        }\n     ]\n\nExample to target 10pm to 2am on Fridays and Saturdays:\n\n  \"weekly_schedules\": [\n      {\n         \"range\": {\n             \"start\": 22,\n             \"end\": 2\n         },\n         \"days\": [ \"FRI\", \"SAT\" ]\n      }\n  ]"
          },
          "allowed_gender_score": {
            "$ref": "#/components/schemas/adcloudcommonFloatingPointRange",
            "description": "Gender score filter uses approximated gender score probability distribution in\nthe range of [0, 1], with 0 indicating a strong probability of male, and 1 indicating\na strong probability of female.\n\nThe filter is specified with a range of [start, end] to filter on user's gender score."
          },
          "blocked_gender_score": {
            "$ref": "#/components/schemas/adcloudcommonFloatingPointRange"
          },
          "allowed_ages": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/adcloudcommonInterval"
            },
            "description": "Age is used to filter based on user's approximate age. A valid value must be in\nthe exclusive range of (0, 100)."
          },
          "blocked_ages": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/adcloudcommonInterval"
            }
          },
          "allowed_ip_ranges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IP net based condition. The CIDR format must be used for an entry such as\nhttps://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing.\nNote that both of IP v4 and v6 could be used at the same time.\n\nExample 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:\n\n   \"blocked_ip_ranges\": [\n     \"32.76.52.0/24\",\n     \"127.0.0.0/8\"\n   ]"
          },
          "blocked_ip_ranges": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allowed_device_carriers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Device carrier filter.\n\nExample to target SKT:\n\n   \"allowed_device_carriers\": [ \"SKTelecom\" ]\n\n\nExample to exclude T-MOBILE and XFINITY Mobile\n\n   \"blocked_device_carriers\": [ \"T-MOBILE\", \"XFINITY Mobile\" ]"
          },
          "blocked_device_carriers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allowed_keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Filter regarding 'keywords' field in a bid request.\n\nIf specified, an ad request must have at least one of the allowed keywords\nto satisfy the filter."
          },
          "blocked_keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Filter regarding 'keywords' field in a bid request.\n\nAn ad request must not have any of the blocked keywords to satisfy the filter."
          },
          "user_buckets": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/adcloudcommonInterval"
            },
            "description": "Filter for the user buckets."
          },
          "allowed_ad_units": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "// Target timetree_i_prod or timetree_a_prod ad_units\n\"condition\": {\n\"allowed_ad_units\": [ \"timetree_i_prod\", \"timetree_a_prod\" ]\n}\n\n// Exclude timetree_i_test ad_unit\n\"condition\": {\n\"blocked_ad_units\": [ \"timetree_i_test\" ]\n}",
            "title": "Example:"
          },
          "blocked_ad_units": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allowed_placements": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "placement (a group of ad_units) names. It is untied to ad_units, and follow the ad_unit's filtering rule."
          },
          "blocked_placements": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allowed_banner_apis": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonBannerApi"
            },
            "description": "// Target MRAID_2 banner only\n\"condition\": {\n\"allowed_banner_apis\": [ \"MRAID_2\" ]\n}",
            "title": "Example:"
          },
          "blocked_banner_apis": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonBannerApi"
            }
          },
          "schedule": {
            "$ref": "#/components/schemas/commonTimeInterval",
            "description": "Schedule to allow bid-requests in a absolute time range, where start and end\nare in RFC3339 format. A few example from https://tools.ietf.org/html/rfc3999\nis listed below.\n\n     1985-04-12T23:20:50.52Z\n\n  This represents 20 minutes and 50.52 seconds after the 23rd hour of\n  April 12th, 1985 in UTC.\n\n\n     1996-12-19T16:39:57-08:00\n\n  This represents 39 minutes and 57 seconds after the 16th hour of\n  December 19th, 1996 with an offset of -08:00 from UTC (Pacific\n  Standard Time).  Note that this is equivalent to 1996-12-20T00:39:57Z\n  in UTC.\n\n   Example:\n\n   // Christmas through end of the year\n   \"condition\": {\n       \"schedule\": {\n           \"start\": \"2020-12-24T00:00:00Z\",\n           \"end\": \"2020-12-31T23:59:59Z\"\n       }\n   }"
          },
          "audience_data": {
            "$ref": "#/components/schemas/commonAudienceData",
            "description": "Audience data.\n\n   Example:\n   \"condition\": {\n       \"audience_data\": {\n           \"provider\": \"moloco\",\n           \"condition\": \"name == \\\"John\"\\ AND age > 30\"\n       }\n   }"
          },
          "allowed_apps_by_checksum": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allow apps by their checksum value."
          },
          "blocked_apps_by_checksum": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Block apps by their checksum value."
          },
          "allowed_postback_event_counts": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonPostbackEventCount"
            },
            "description": "PostbackEventCount condition checks the number of specified events and\naccepts if there is one event that falls within given range of [start,\nend). In the example, User's event named \"Transaction confirmation\"\nmust have been appeared 16 times or more to accept for zigbang app.\n\n   Example:\n   \"condition\": {\n       \"allowed_postback_event_counts\": [\n           {\n               \"app_bundle\": \"com.chbreeze.jikbang4a\",\n               \"range\": {\n                   \"start\": 16,\n                   \"end\": 0\n               },\n               \"events\": [\n                   \"Transaction confirmation\"\n               ]\n           }\n       ]\n   }"
          },
          "auction_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Auction types including first price or second price auctions.\n\n   Example:\n   \"condition\": {\n       \"auction_types\": [ \"first\", \"second\" ]\n   }"
          },
          "throttle_apt_tags": {
            "$ref": "#/components/schemas/commonTagsThrottleCondition",
            "title": "Allow throttle apps with apt tags with throttle rate. In the example,\nthrottle apps with apt_tags [bad_apptag1, bad_apptag2] with 95% of throttle rate\nare allowed.\nExample:\n\"condition\":{\n   \"throttle_apt_tags\": {\n       \"tags\": [\"badapp_tag1\", \"badapp_tag2\"],\n       \"throttle_rate\": 0.95\n   }\n}"
          },
          "allowed_dev_makes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed device make.\n\n   Example:\n   \"condition\":{\n       \"allowed_dev_makes\": [ \"Apple\" ]\n   }"
          },
          "blocked_dev_makes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked device make. See the example of `allowed_dev_makes`."
          },
          "display_manager_versions": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonDisplayManagerVersion"
            },
            "description": "DisplayManager Version.\n\n   Example:\n\n   \"condition\": {\n       \"display_manager_versions\": [\n           {\n               \"min\": \"1.2\",\n               \"max\": \"4.5.6\"\n           }\n       ]\n   }\n\n   // With minimum version requirement:\n   \"condition\": {\n       \"display_manager_versions\": [\n           {\n               \"min\": \"3.0\"\n           }\n       ]\n   }\n\n   // With maximum version requirement:\n   \"condition\": {\n       \"display_manager_versions\": [\n           {\n               \"max\": \"5\"\n           }\n       ]\n   }"
          },
          "allowed_audiences": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed audiences."
          },
          "blocked_audiences": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocked audiences."
          },
          "allowed_postback_has_all_events_conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonPostbackEventsCondition"
            },
            "description": "Postback event condition filter a bid-request by user's postback summary. Note that audience name\nand events are of case-sentitive string types.\nEach entry of allowed_postback_has_all_events_conditions will be satisfied when all listed events\nare found from user's postback summary."
          },
          "blocked_postback_has_all_events_conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonPostbackEventsCondition"
            },
            "description": "Each entry of blocked_postback_has_all_events_conditions will be satisfied when all listed events\nare not found from user's postback summary."
          },
          "allowed_postback_has_any_events_conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonPostbackEventsCondition"
            },
            "title": "Each entry of allowed_postback_has_any_events_conditions will be satisfied when there is at least\none matching event by the condition from user's postback summary.\nThe following example defines in-app events of \"com.moloco.gameapp\" for a user bound to the\nbid-request. The condition must have both of \"adview\" and \"purchase\" events within the\npast 14 days but no \"Open\" or \"Close\" events in the last 7 days.\nExample:\n   \"condition\": {\n       \"allowed_postback_has_all_events_conditions\": [\n           {\n               \"audiences\": [ \"com.moloco.gameapp\" ],\n               \"events\": [ \"adview\", \"purchase\" ],\n               \"past_time_range\": {\n                   \"start\": 14\n               }\n           }\n       ],\n       \"blocked_postback_has_any_events_conditions\": [\n           {\n               \"audiences\": [ \"com.moloco.gameapp\" ],\n               \"events\": [ \"Open\", \"Close\" ],\n               \"past_time_range\": {\n                   \"start\": 7\n               }\n           }\n       ]\n   }"
          },
          "blocked_postback_has_any_events_conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonPostbackEventsCondition"
            },
            "description": "Each entry of blocked_postback_has_any_events_conditions will be satisfied when there is at least\none event not matched by the condition from user's postback summary. See the documentation for\n`allowed_postback_has_any_events_conditions`."
          },
          "allowed_location_set": {
            "$ref": "#/components/schemas/AudienceTargetingConditionLocationSet",
            "description": "Allowed and blocked location sets. If these fields are set,\nallowed_location_codes and blocked_location_codes are ignored."
          },
          "blocked_location_set": {
            "$ref": "#/components/schemas/AudienceTargetingConditionLocationSet"
          },
          "allowed_apt_tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "blocked_apt_tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "coppa_acceptance": {
            "$ref": "#/components/schemas/AudienceTargetingConditionCoppaAcceptance",
            "description": "Whether to bid according to BidRequest.regs.coppa value."
          },
          "skan_traffic": {
            "$ref": "#/components/schemas/AudienceTargetingConditionSkanTraffic",
            "description": "Whether to bid according to bid requests that support SKAN or not.\nDecide based on bidreq.ext.sk_ad_network_request_ext field exists."
          },
          "contains_custom_audience": {
            "type": "boolean",
            "description": "Whether it contains a `custom_audience` targeting condition.\nThe `custom_audience` targeting condition is legacy, and may contain some internal information.\nTherefore, we do not reveal them by the API but only signals its non-emptiness with this field."
          },
          "custom_audience_set": {
            "$ref": "#/components/schemas/AudienceTargetingConditionCustomAudienceSet",
            "description": "CustomAudienceSet is a combination of app events and user lists filters.\nThe app events filter checks if the targeted user conforms to given app events.\nThe CustomerSet filter checks if an entry in the list can be found\nfrom tags in a user profile. There is an assumption that a CustomerSet\nentity exists for each and every entry in the list."
          }
        },
        "description": "AudienceTargetingCondition specifies conditions for AudienceTargeting.\n\nThis condition object contains various filters on multiple dimensions of bid-request,\napp, and user. Advertisers can selectively configure desired filters to form a\nmeaningful AudienceTarget condition collectively. The configured individual filters\nmust be satisfied unanimously in order for the resulting collective condition to be\nsatisfied.\n\nOnly filters with values will be effective. When a filter condition accepts\na list of values, i.e., list of countries for \"allowed_countries\", the filter\ncondition will be met when any match is found among the list.\n\nString literals are case insensitive unless specified otherwise; i.e. \"USA\" and \"usa\"\nequally represents the United States of America."
      },
      "dspAudienceTargetingConditionVideoType": {
        "type": "string",
        "enum": [
          "UNKNOWN_VIDEO_TYPE",
          "REWARD_VIDEO",
          "NON_REWARD_VIDEO",
          "NON_VIDEO"
        ],
        "default": "UNKNOWN_VIDEO_TYPE",
        "description": "This value is not part of the specification."
      },
      "dspBudgetSchedule": {
        "type": "object",
        "properties": {
          "daily_schedule": {
            "$ref": "#/components/schemas/dspDailyBudgetSchedule",
            "description": "Budget for every day."
          },
          "weekly_schedule": {
            "$ref": "#/components/schemas/dspDayOfWeekBudgetSchedule",
            "description": "Budget for each day-of-week."
          },
          "weekly_flexible_schedule": {
            "$ref": "#/components/schemas/dspWeeklyFlexibleBudgetSchedule",
            "description": "Budget for a week."
          }
        },
        "description": "BudgetSchedule represents the AdAccount's plan for budget spending.\nAny change in this object takes effect immediately."
      },
      "dspCampaign": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the Campaign. Automatically set by server on creation."
          },
          "ad_account_id": {
            "type": "string",
            "description": "ID of the AdAccount the Campaign belongs to.",
            "readOnly": true
          },
          "product_id": {
            "type": "string",
            "description": "ID of the Product the Campaign belongs to.",
            "readOnly": true
          },
          "title": {
            "type": "string",
            "description": "A descriptive name of the Campaign."
          },
          "description": {
            "type": "string",
            "description": "An optional description of the Campaign."
          },
          "enabling_state": {
            "$ref": "#/components/schemas/commonEnablingState",
            "description": "Whether this campaign is enabled by the AdAccount. Only enabled Campaigns\nwill be activated for serving once their eligibility is determined by\nMoloco.\n\nIf the value of this field is unset or set to UNSPECIFIED in a Campaign creation\nrequest, it will be set to ENABLED automatically by the server.\n\nIf the value is DISABLED when the Campaign is being reviewed and approved,\nthe Campaign state will become PAUSED after approval.\n\nAn active Campaign can be paused manually at any time by setting this field\nto DISABLED."
          },
          "type": {
            "$ref": "#/components/schemas/dspCampaignType",
            "description": "Type of the Campaign."
          },
          "device_os": {
            "$ref": "#/components/schemas/commonDeviceOs",
            "description": "Device OS type for this Campaign."
          },
          "state": {
            "$ref": "#/components/schemas/dspCampaignState",
            "description": "State of the Campaign. This state will be fully managed by the server.",
            "readOnly": true
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Countries in which this Campaign runs. The value format is ISO-3166-1 Alpha-3\nusing uppercase letters only, such as \"KOR\" or \"USA\". Note that the values\nfor this field will be used to filter bid requests by country name."
          },
          "currency": {
            "$ref": "#/components/schemas/adcloudcommonCurrency",
            "description": "Currency used for the Campaign.\nSet by the ad account's currency setting.",
            "readOnly": true
          },
          "schedule": {
            "$ref": "#/components/schemas/commonTimeInterval",
            "description": "Absolute time range to allow this Campaign to be served.\nStart is required and End is optional."
          },
          "budget_schedule": {
            "$ref": "#/components/schemas/dspBudgetSchedule",
            "description": "Campaign-wide budget schedule specified by the AdAccount."
          },
          "tracking_company": {
            "$ref": "#/components/schemas/adcloudcommonTrackingCompany",
            "description": "Tracking company (e.g., Appsflyer, MAT, and so on)."
          },
          "tracking_link_id": {
            "type": "string",
            "description": "MMP specific impression and click TrackingLinks defined specifically for this Campaign.\nCampaign can be either WEB type or APP type. Required for APP type campaign, not allowed for WEB type Campaign."
          },
          "landing_url": {
            "type": "string",
            "description": "The URL of the website that a Campaign wants to show to the audience.\nRequired for web type Campaign."
          },
          "goal": {
            "$ref": "#/components/schemas/dspCampaignGoal",
            "description": "Goal of the Campaign."
          },
          "skadn_input": {
            "$ref": "#/components/schemas/dspSKAdNetworkInput",
            "description": "Explicit input for SKAdNetwork traffic.\nIt's meaningful only for IOS App Campaign toward SKAdNetwork traffic."
          },
          "custom_key_values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Custom key/values managed by the Moloco Ads client platform. It's\nup to the client ads platform to define the schema for the values and their\noptionality.\n\nThe keys are recommended, but not required, to be prefixed with the reversed\ninternet domain of the AdCloud client platform company. For example, keys defined\nby the client ads platform company \"example.com\" should have \"com.example.\" as\nthe prefix.\n\nFor complex values, JSON payload is recommended.\n\nMoloco doesn't interpret these data in any way for ads serving. Upon serving,\nthe custom key/values in the AdAccount, Campaign, and Creative models will\nbe combined into the serving Creative proto in the order of precedence, with\nCreative's value having the highest precedence on the same key."
          },
          "ad_tracking_allowance": {
            "$ref": "#/components/schemas/dspAdTrackingAllowance",
            "description": "AdTrackingAllowance controls target audience in terms of personalized ad tracking settings."
          },
          "is_deleted": {
            "type": "boolean",
            "description": "True for deleted Campaign.",
            "readOnly": true
          },
          "auto_delete_at": {
            "type": "string",
            "format": "date-time",
            "description": "Campaign in Paused or Finished state for specific time will be removed automatically.\nIt represents when this will be deleted in UTC.",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Created time.",
            "readOnly": true
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Last updated time. Should not modify on the client side."
          },
          "serving_status": {
            "$ref": "#/components/schemas/CampaignServingStatus",
            "readOnly": true
          },
          "launch_notices": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonLaunchNotice"
            },
            "description": "A list of notices that the user must review and acknowledge to enable the campaign.\nThis field represents pending notices requiring user confirmation.\nThe client should store these notices and include them in the subsequent\nrequest via the 'launch_notice_confirmations' field to prove that the user has seen them.",
            "readOnly": true
          },
          "launch_notice_confirmations": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/commonLaunchNotice"
            },
            "description": "The list of launch notice that the user has explicitly reviewed and confirmed.\nThe client must echo back the notices received in 'launch_notices' when enabling the campaign.\nThe server validates these against the current system state to ensure all required acknowledgments are present.\n\nStarting from v1.10.0, any campaign enable request that does not include all 'DISCLAIMER' type notices received\nin 'launch_notices' will be rejected."
          }
        },
        "description": "Campaign represents a single advertising Campaign.",
        "required": [
          "type",
          "device_os",
          "schedule",
          "goal",
          "title",
          "countries"
        ]
      },
      "dspCampaignGoal": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/dspCampaignGoalType",
            "description": "Type of the goal."
          },
          "optimize_app_installs": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppInstalls"
          },
          "optimize_cpa_for_app_ua": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaForAppUa"
          },
          "optimize_app_roas": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppRoas"
          },
          "optimize_clicks_to_web": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeClicksToWeb"
          },
          "optimize_clicks_to_app": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeClicksToApp"
          },
          "optimize_roas_for_app_re": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeRoasForAppRe"
          },
          "optimize_cpc_for_app_re": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpcForAppRe"
          },
          "optimize_fixed_cpm": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeFixedCpm"
          },
          "optimize_cpa_for_app_re": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaForAppRe"
          },
          "optimize_app_retention": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppRetention"
          },
          "optimize_app_reattribution": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeAppReattribution"
          },
          "optimize_cpa_repeated_for_app_ua": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaRepeatedForAppUa"
          },
          "optimize_fixed_cpm_pacing": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeFixedCpmPacing"
          },
          "optimize_landing_for_web_ua": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeLandingForWebUa"
          },
          "optimize_cpa_for_web_ua": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeCpaForWebUa"
          },
          "kpi_actions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of KPI actions."
          }
        },
        "description": "CampaignGoal describes the details of goal of a Campaign.",
        "required": [
          "type"
        ]
      },
      "dspCampaignGoalType": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "UNKNOWN_TYPE",
        "description": "Type enumerates available Campaign goal types.\nCorresponding details to the type must be specified.\n\n - OPTIMIZE_NONE: Goal type for the Campaigns which do not use any of pricing engines.\n - FIXED_CPM_FOR_APP_UA: Goal type for the UA Campaigns which do not use any of pricing engines.\n - FIXED_CPM_FOR_APP_RE: Goal type for the RE Campaigns which do not use any of pricing engines.\n - OPTIMIZE_CPI_FOR_APP_UA: Aim to drive app installs while satisfying the long-term cost per install.\n - OPTIMIZE_CPA_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per (certain) action.\n - OPTIMIZE_CPC_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per click.\n - OPTIMIZE_ROAS_FOR_APP_UA: Aim to drive app installs while satisfying long-term return on advertising spend (ROAS).\n - OPTIMIZE_ROAS_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term return on advertising spend (ROAS).\n - OPTIMIZE_CPC_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term cost per click.\n - OPTIMIZE_CPC_FOR_WEB_VISIT: Aim to drive the web-site visit while satisfying long-term cost per click.\n - OPTIMIZE_APP_INSTALLS: Deprecated. Aim to drive app installs while satisfying long-term cost per install.\n - OPTIMIZE_APP_ROAS: Deprecated. Aim to drive certain in-app actions while satisfying long-term return on advertising spend (ROAS).\n - OPTIMIZE_CLICKS_TO_WEB: Deprecated. Aim to drive clicks for web-site Product while satisfying long-term cost per click.\n - OPTIMIZE_CLICKS_TO_APP: Deprecated. Aim to drive clicks for web-site Product while satisfying long-term cost per click.\n - OPTIMIZE_CPA_FOR_APP_RE: Aim to drive the user re-engagements while satisfying long-term cost per (certain) action.\n - OPTIMIZE_RETENTION_FOR_APP_UA: Aim to drive the user retention.\n - OPTIMIZE_REATTRIBUTION_FOR_APP: Aim to drive user's app reattribution.\n - OPTIMIZE_CPA_REPEATED_FOR_APP_UA: Aim to drive app installs while satisfying long-term cost per (certain) action - repeated count.\n - FIXED_CPM_GENERIC: Default goal type for generic fixed-cpm. Fixed cpm with budget-pacing option is given.\n - FIXED_CPM_FOR_CTV: Default goal type for CTV. Fixed cpm with budget-pacing option is given.\n - FIXED_CPM_FOR_WEB_VISIT: Goal type for the WEB_VISIT Campaigns which do not use any of pricing engines.\n - OPTIMIZE_LANDING_FOR_WEB_UA: Goal type for optimizing landing event for web user acquisition campaign.\n - OPTIMIZE_CPA_FOR_WEB_UA: Goal type for optimizing cost per action for web user acquisition campaign."
      },
      "dspCampaignState": {
        "type": "string",
        "enum": [
          "UNKNOWN_CAMPAIGN_STATE",
          "SUBMITTED",
          "READY",
          "UPCOMING",
          "ACTIVE",
          "PAUSED",
          "SUSPENDED",
          "COMPLETED"
        ],
        "default": "UNKNOWN_CAMPAIGN_STATE",
        "description": "CampaignState represents various states of a Campaign.\n\nThis value is not part of the specification.\n\n - SUBMITTED: All the required data are entered and passed all the validation. It's eligible\nto be reviewed by Moloco for activation.\n - READY: Campaign is before schedule and internally ready but disabled.\nWill transit to PAUSED when it becomes on schdule.\n - UPCOMING: Campaign is before schedule and internally ready and disabled.\nWill transit to ACTIVE when it becomes on schdule.\n - ACTIVE: Campaign is on schedule and spending the budget.\n - PAUSED: Campaign is paused and not spending the budget.\n - SUSPENDED: Campaign activation is suspended by the system for the following reasons:\n- App has been found to be in violation of Moloco's creative policy.\n - COMPLETED: Campaign is completed but may still get attributions for some time."
      },
      "dspCampaignType": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "UNKNOWN_CAMPAIGN_TYPE",
        "description": "CampaignType represents the type of a Campaign.\nIt captures the goal of the Campaign at a high level.\n\nThis value is not part of the specification.\n\n - GENERIC: Campaign is for generic purpose (only for legacy Campaigns).\n - APP_USER_ACQUISITION: The goal of the Campaign is to drive app user acquisitions.\n - APP_REENGAGEMENT: The goal of the Campaign is to drive app reengagement.\n - WEBSITE_VISIT: The goal of the Campaign is to drive website visits.\n - CTV_GENERIC: Campaign is for the general CTV ad.\n - CTV_APP_USER_ACQUISITION: Campaign is for the mobile app install CTV ad.\n - WEB_USER_ACQUISITION: The goal of the Campaign is to drive web user acquisitions.\nOriginally, this was used for APP to WEB user acquisition. However,\nit is now also used for WEB to WEB user acquisition.\n - CTV_WEBSITE_VISIT: Campaign is for the website visit CTV ad.\n - WEB_RETARGETING: The goal of the Campaign is to drive web retargeting.\nCurrently, this is used for WEB to WEB retargeting."
      },
      "dspDailyBudgetSchedule": {
        "type": "object",
        "properties": {
          "daily_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Daily budget in Campaign's currency. Daily spending resets at 12am UTC every day."
          }
        }
      },
      "dspDayOfWeekBudgetSchedule": {
        "type": "object",
        "properties": {
          "monday_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney"
          },
          "tuesday_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney"
          },
          "wednesday_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney"
          },
          "thursday_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney"
          },
          "friday_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney"
          },
          "saturday_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney"
          },
          "sunday_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney"
          }
        },
        "description": "Budget for each day of the week; all 7-day budgets need be filled for use."
      },
      "dspPostbackIntegrationStatus": {
        "type": "object",
        "properties": {
          "device_os": {
            "$ref": "#/components/schemas/commonDeviceOs",
            "description": "The device OS of the postback integration."
          },
          "country": {
            "type": "string",
            "description": "Country to which the postback is integrated with.\nThe field should conform to [ISO-3166-1 Alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) format e.g. \"KOR\", \"USA\".\nIt is used for filtering bid requests by country name."
          },
          "complete_percentage": {
            "type": "number",
            "format": "double",
            "description": "Integration completion percentage per each country."
          },
          "integration_success": {
            "type": "boolean",
            "description": "The flag that specifies the integration is completed in any country."
          }
        }
      },
      "dspSKAdNetworkInput": {
        "type": "object",
        "properties": {
          "targeting_state": {
            "$ref": "#/components/schemas/SKAdNetworkInputTargetingState",
            "description": "Targeting state w.r.t SKAdNetwork traffic."
          },
          "include_traffic_without_attributions": {
            "type": "boolean",
            "description": "It adds SKAN_CUSTOM_OPTION_NON_ATTRIBUTABLE to target traffic.\nIt is only effective when the targeting_state is 'TARGET_ALL' or 'TARGET_SKADN_ONLY'."
          },
          "custom_options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SKAdNetworkInputCustomOption"
            },
            "description": "custom_options hold all the traffic the Campaign want to target.\nIt is only effective when the targeting_state is 'TARGET_CUSTOM'."
          },
          "prefer_mmp_attribution": {
            "type": "boolean",
            "description": "1) targeting_state is TARGET_NON_SKADN_ONLY\n\n2) targeting_state is TARGET_CUSTOM and custom_options is set exclusively to SKAN_CUSTOM_OPTION_BI_ATTRIBUTABLE.\n\nIf true, the Campaign skips SKAN allocation.",
            "title": "prefer_mmp_attribution indicates whether the Campaign prefers MMP attribution when both MMP and SKAdNetwork attributions are available.\nIt is valid only in the following cases:"
          }
        },
        "description": "SKAdNetworkInput represents various configurations w.r.t SKAdNetwork traffic.\nIt's meaningful only for IOS.\nUse case in MCP: https://help.moloco.com/hc/en-us/articles/1500005837321-SKAdNetwork-Campaign-Settings."
      },
      "dspWeeklyFlexibleBudgetSchedule": {
        "type": "object",
        "properties": {
          "weekly_budget": {
            "$ref": "#/components/schemas/adcloudcommonMoney",
            "description": "Weekly budget in Campaign's currency."
          }
        }
      },
      "messagesCampaignInput": {
        "type": "object",
        "properties": {
          "campaign": {
            "$ref": "#/components/schemas/dspCampaign",
            "description": "The Campaign to create."
          },
          "ad_group": {
            "$ref": "#/components/schemas/dspAdGroup",
            "description": "Deprecated. Use AdGroups instead.",
            "readOnly": true
          },
          "ad_groups": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/dspAdGroup"
            },
            "description": "The initial AdGroups of the creating Campaign."
          }
        },
        "required": [
          "campaign"
        ]
      },
      "messagesCreateCampaignError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/messagesCreateCampaignErrorAPIErrorInfo"
            }
          }
        },
        "title": "CampaignError"
      },
      "messagesCreateCampaignErrorAPIErrorInfo": {
        "type": "object",
        "properties": {
          "reason": {
            "$ref": "#/components/schemas/messagesCreateCampaignErrorAPIErrorInfoErrorReason"
          },
          "error_log_id": {
            "type": "string"
          },
          "context": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "messagesCreateCampaignErrorAPIErrorInfoErrorReason": {
        "type": "string",
        "enum": [
          "ERROR_REASON_UNKNOWN",
          "CAMPAIGN_SKAN_MUST_BE_UNSET_FOR_NON_IOS_CAMPAIGN",
          "CAMPAIGN_SKAN_MUST_BE_SET_FOR_IOS_CAMPAIGN",
          "CAMPAIGN_SKAN_CUSTOM_OPTIONS_REQUIRED",
          "CAMPAIGN_TYPE_TRACKING_LINK_REQUIRED",
          "CAMPAIGN_TYPE_LANDING_URL_NOT_ALLOWED",
          "CAMPAIGN_TYPE_LANDING_URL_REQUIRED",
          "CAMPAIGN_TYPE_TRACKING_LINK_NOT_ALLOWED",
          "CAMPAIGN_GOAL_CANNOT_CREATE",
          "CAMPAIGN_TYPE_CANNOT_CREATE_FOR_NON_APP_PRODUCT",
          "CAMPAIGN_TYPE_REQUIRES_APP_PROPERTIES",
          "CAMPAIGN_NO_VALID_TRACKING_COMPANY",
          "CAMPAIGN_SKAN_INVALID_GOAL_ACTION",
          "CAMPAIGN_NO_REVENUE_FOR_EVENT",
          "CAMPAIGN_TYPE_MISMATCH_WITH_GOAL",
          "CAMPAIGN_PAYOUT_ITEM_NUMBER_MISMATCH",
          "CAMPAIGN_BUDGET_CURRENCY_MISMATCH",
          "CAMPAIGN_OS_MISMATCH_WITH_TRACKING_LINK_OS",
          "CAMPAIGN_PRODUCT_INCOMPATIBLE",
          "CAMPAIGN_GOAL_TYPE_NOT_AVAILABLE",
          "CAMPAIGN_SKAN_REACHED_MAX",
          "CAMPAIGN_SKAN_PROHIBIT_WITHOUT_OWNERSHIP",
          "CAMPAIGN_CREATIVE_GROUPS_NOT_FOUND",
          "CAMPAIGN_BUDGET_REQUIRED",
          "CAMPAIGN_ZERO_BUDGET_AE_CAMPAIGN_NOT_DISABLED",
          "CAMPAIGN_TARGET_DUPLICATED_AD_PLATFORM",
          "CAMPAIGN_AD_PLATFORMS_SHOULD_BE_SUPERSET_OF_AD_GROUPS",
          "CAMPAIGN_TYPE_CANNOT_TARGET_MULTIPLE_OSES"
        ],
        "default": "ERROR_REASON_UNKNOWN",
        "description": " - CAMPAIGN_SKAN_MUST_BE_UNSET_FOR_NON_IOS_CAMPAIGN: Cannot specify skadn_input for non IOS campaign.\n - CAMPAIGN_SKAN_MUST_BE_SET_FOR_IOS_CAMPAIGN: Must specify skadn_input for IOS campaign.\n - CAMPAIGN_SKAN_CUSTOM_OPTIONS_REQUIRED: custom_options must be set for skadn_input.\n - CAMPAIGN_TYPE_TRACKING_LINK_REQUIRED: tracking_link_id is required for APP installs or re-engagement type campaign.\n - CAMPAIGN_TYPE_LANDING_URL_NOT_ALLOWED: landing_url is not allowed for APP installs or re-engagement type campaign.\n - CAMPAIGN_TYPE_LANDING_URL_REQUIRED: landing_url is required for WEB type campaign.\n - CAMPAIGN_TYPE_TRACKING_LINK_NOT_ALLOWED: campaign.tracking_link_id is not allowed for WEB type campaign.\n - CAMPAIGN_GOAL_CANNOT_CREATE: Cannot create a campaign with specified goal type.\n - CAMPAIGN_TYPE_CANNOT_CREATE_FOR_NON_APP_PRODUCT: Specified campaign type cannot have non APP type product.\n - CAMPAIGN_TYPE_REQUIRES_APP_PROPERTIES: Specified campaign type should have APP properties under the Product.\n - CAMPAIGN_NO_VALID_TRACKING_COMPANY: Creating campaign has invalid tracking company information.\nInput tracking link id should be set or target Product should have postback integration.\n - CAMPAIGN_SKAN_INVALID_GOAL_ACTION: The specified goal action is not valid event for SKAdNetwork.\n - CAMPAIGN_NO_REVENUE_FOR_EVENT: The specified goal action does not have revenue range.\n - CAMPAIGN_TYPE_MISMATCH_WITH_GOAL: The campaign cannot have specified type for the specified goal.\n - CAMPAIGN_PAYOUT_ITEM_NUMBER_MISMATCH: The number of PayoutItem should be matched with the length of Campaigns or 0.\n - CAMPAIGN_BUDGET_CURRENCY_MISMATCH: The budget currency should match the currency of the Campaign.\n - CAMPAIGN_OS_MISMATCH_WITH_TRACKING_LINK_OS: Target OS of campaign does not match with target OS of TrackingLink.\n - CAMPAIGN_PRODUCT_INCOMPATIBLE: The campaign type is incompatible with target product.\n - CAMPAIGN_GOAL_TYPE_NOT_AVAILABLE: The goal type is not available.\n - CAMPAIGN_SKAN_REACHED_MAX: Maximum number of campaigns per App targeting SKAdNetwork compatible traffic has already reached.\n - CAMPAIGN_SKAN_PROHIBIT_WITHOUT_OWNERSHIP: Creating SKAdNetwork targeting campaigns is not allowed without the ownership for the iOS app.\n - CAMPAIGN_CREATIVE_GROUPS_NOT_FOUND: Cannot find matching CreativeGroups for specified creative_group_ids.\n - CAMPAIGN_BUDGET_REQUIRED: Campaign budget is required.\n - CAMPAIGN_ZERO_BUDGET_AE_CAMPAIGN_NOT_DISABLED: Campaign should be disabled if budget_ratio_percent of audience extension is 0% or 100%.\n - CAMPAIGN_TARGET_DUPLICATED_AD_PLATFORM: Campaign has duplicated targeting ad platform.\n - CAMPAIGN_AD_PLATFORMS_SHOULD_BE_SUPERSET_OF_AD_GROUPS: Campaign's targeting ad platforms should be superset of AdGroups'.\n - CAMPAIGN_TYPE_CANNOT_TARGET_MULTIPLE_OSES: Given campaign type cannot target multiple OSes."
      },
      "messagesCreateCampaignResponse": {
        "type": "object",
        "properties": {
          "campaign": {
            "$ref": "#/components/schemas/dspCampaign",
            "description": "The created Campaign data."
          },
          "ad_groups": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/dspAdGroup"
            },
            "description": "The AdGroup data which has been created along with the Campaign."
          },
          "postback_integration_status": {
            "$ref": "#/components/schemas/dspPostbackIntegrationStatus",
            "description": "The postback integration status."
          }
        }
      }
    }
  }
}
```