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

# Update an existing Campaign.

Update an existing 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/{campaign_id}": {
      "put": {
        "summary": "Update an existing Campaign.",
        "description": "Update an existing Campaign.",
        "operationId": "DspApi_UpdateCampaign",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messagesUpdateCampaignResponse"
                }
              }
            }
          },
          "default": {
            "description": "Error. Detailed cause can be found in the `details` field.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/messagesUpdateCampaignError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "campaign_id",
            "description": "The ID of the Campaign to be updated.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/dspCampaign"
              }
            }
          },
          "description": "The Campaign to update.",
          "required": true
        },
        "tags": [
          "Campaign"
        ]
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "servers": [
    {
      "url": "https://api.moloco.cloud"
    }
  ],
  "components": {
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    },
    "schemas": {
      "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."
      },
      "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."
      },
      "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."
      },
      "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."
      },
      "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."
      },
      "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."
      },
      "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."
      },
      "commonEnablingState": {
        "type": "string",
        "enum": [
          "UNSPECIFIED",
          "ENABLED",
          "DISABLED"
        ],
        "default": "UNSPECIFIED",
        "description": "Enumeration of the enabling states with a default UNSPECIFIED state."
      },
      "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."
      },
      "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."
      },
      "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."
      },
      "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."
          }
        }
      },
      "messagesUpdateCampaignError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/messagesUpdateCampaignErrorAPIErrorInfo"
            }
          }
        }
      },
      "messagesUpdateCampaignErrorAPIErrorInfo": {
        "type": "object",
        "properties": {
          "reason": {
            "$ref": "#/components/schemas/messagesUpdateCampaignErrorAPIErrorInfoErrorReason"
          },
          "error_log_id": {
            "type": "string"
          },
          "context": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "messagesUpdateCampaignErrorAPIErrorInfoErrorReason": {
        "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_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_ALREADY_ARCHIVED",
          "CAMPAIGN_CANNOT_ENABLE_WITH_DISABLED_PAYOUT_ITEM",
          "CAMPAIGN_NO_ENABLED_CREATIVE_GROUP",
          "CAMPAIGN_CANNOT_ENABLE_FOR_NON_PAYABLE_ADVERTISER",
          "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_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_ALREADY_ARCHIVED: The target campaign is already archived.\n - CAMPAIGN_CANNOT_ENABLE_WITH_DISABLED_PAYOUT_ITEM: Cannot enable the campaign with disabled PayoutItem.\n - CAMPAIGN_NO_ENABLED_CREATIVE_GROUP: Cannot enable the campaign with no enabled CreativeGroup with Creatives.\n - CAMPAIGN_CANNOT_ENABLE_FOR_NON_PAYABLE_ADVERTISER: Cannot enable a campaign whose advertiser is not ready for billing.\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."
      },
      "messagesUpdateCampaignResponse": {
        "type": "object",
        "properties": {
          "campaign": {
            "$ref": "#/components/schemas/dspCampaign",
            "description": "The updated Campaign data."
          },
          "postback_integration_status": {
            "$ref": "#/components/schemas/dspPostbackIntegrationStatus",
            "description": "The postback integration status."
          }
        }
      }
    }
  }
}
```