MOLOCO Ad Group API

The AdGroup API from MOLOCO — 2 operation(s) for adgroup.

Operations 5

GET /cm/v1/ad-groups List up AdGroups. #
POST /cm/v1/ad-groups Create a new AdGroup. #
GET /cm/v1/ad-groups/{ad_group_id} Read an existing AdGroup. #
DELETE /cm/v1/ad-groups/{ad_group_id} Delete an existing AdGroup. #
PUT /cm/v1/ad-groups/{ad_group_id} Update an existing AdGroup. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/moloco-adgroup-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

moloco-adgroup-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Moloco Ad Group API
  version: '1.10'
  contact:
    name: Moloco Inc.
    url: https://www.moloco.com
  description: 'Operations tagged AdGroup across 2 of this provider''s published API definitions: moloco-ads-campaign-management-api.json, moloco-ads-campaign-management-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.moloco.cloud
security:
- Bearer: []
tags:
- name: AdGroup
paths:
  /cm/v1/ad-groups:
    get:
      summary: List up AdGroups.
      description: List up all AdGroups of the Campaign.
      operationId: DspApi_ListAdGroups
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesListAdGroupsResponse'
        default:
          description: Error. Detailed cause can be found in the `details` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesListAdGroupsError'
      parameters:
      - name: ad_account_id
        description: The AdAccount ID to which AdGroups belong to.
        in: query
        required: true
        schema:
          type: string
      - name: product_id
        description: The Product ID to which AdGroups belong to.
        in: query
        required: false
        schema:
          type: string
      - name: campaign_id
        description: 'The Campaign ID which AdGroups belong to.

          If not specified, response will contains all AdGroups under the Product.'
        in: query
        required: false
        schema:
          type: string
      - name: inquiry_option
        description: "InquiryOption to specify which information to retrieve.\n\n - INQUIRY_ENTITY: Only the target entity itself is returned in response.\nThis InquiryOption is faster than other options as it reads the single entity from the database.\n - INQUIRY_OVERVIEW: The target entity's overview information is returned in response.\nIn general, the overview information includes the brief content of the target entity and its related entities.\nThis InquiryOption is slower than INQUIRY_ENTITY but the returned data size is usually smaller than that.\n - INQUIRY_ALL: The target entity and its summary information is returned in response.\nThis InquiryOption is equivalent to INQUIRY_ENTITY + INQUIRY_OVERVIEW, and it's slow and big."
        in: query
        required: false
        schema:
          type: string
          enum:
          - UNKNOWN_INQUIRY_OPTION
          - INQUIRY_ENTITY
          - INQUIRY_OVERVIEW
          - INQUIRY_ALL
          default: UNKNOWN_INQUIRY_OPTION
      tags:
      - AdGroup
    post:
      summary: Create a new AdGroup.
      description: Create a new AdGroup of the Campaign.
      operationId: DspApi_CreateAdGroup
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesCreateAdGroupResponse'
        default:
          description: Error. Detailed cause can be found in the `details` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesCreateAdGroupError'
      parameters:
      - name: campaign_id
        description: The Campaign ID the AdGroup belongs to.
        in: query
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dspAdGroup'
        description: The AdGroup date to be created.
        required: true
      tags:
      - AdGroup
    servers:
    - url: https://api.moloco.cloud
  /cm/v1/ad-groups/{ad_group_id}:
    get:
      summary: Read an existing AdGroup.
      description: Read an existing AdGroup.
      operationId: DspApi_ReadAdGroup
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesReadAdGroupResponse'
        default:
          description: Error. Detailed cause can be found in the `details` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesReadAdGroupError'
      parameters:
      - name: ad_group_id
        description: The ID of the AdGroup to be retrieved.
        in: path
        required: true
        schema:
          type: string
      - name: campaign_id
        description: The Campaign ID the AdGroup belongs to.
        in: query
        required: true
        schema:
          type: string
      tags:
      - AdGroup
    delete:
      summary: Delete an existing AdGroup.
      description: Delete an existing AdGroup.
      operationId: DspApi_DeleteAdGroup
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesDeleteAdGroupResponse'
        default:
          description: Error. Detailed cause can be found in the `details` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesDeleteAdGroupError'
      parameters:
      - name: ad_group_id
        description: The ID of the AdGroup to be deleted.
        in: path
        required: true
        schema:
          type: string
      - name: campaign_id
        description: The Campaign ID the AdGroup belongs to.
        in: query
        required: true
        schema:
          type: string
      tags:
      - AdGroup
    put:
      summary: Update an existing AdGroup.
      description: Update an existing AdGroup.
      operationId: DspApi_UpdateAdGroup
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesUpdateAdGroupResponse'
        default:
          description: Error. Detailed cause can be found in the `details` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messagesUpdateAdGroupError'
      parameters:
      - name: ad_group_id
        description: The ID of the AdGroup to be updated.
        in: path
        required: true
        schema:
          type: string
      - name: campaign_id
        description: The Campaign ID the AdGroup belongs to.
        in: query
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dspAdGroup'
        description: The AdGroup data to be updated.
        required: true
      tags:
      - AdGroup
    servers:
    - url: https://api.moloco.cloud
components:
  schemas:
    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."
    adcloudcommonInterval:
      type: object
      properties:
        start:
          type: integer
          format: int32
        end:
          type: integer
          format: int32
      description: Interval represents a contiguous integer range [start, end).
    CampaignGoalOptimizeClicksToApp:
      type: object
      properties:
        target_cpc:
          $ref: '#/components/schemas/adcloudcommonMoney'
          description: 'Target cost per click in AdAccount-wide currency.

            Required 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.

            Required when the mode is BUDGET_CENTRIC.

            Its rate should be in (0, 2].'
      description: Detailed configuration of OPTIMIZE_CPC_FOR_APP_UA goal.
    commonEnablingState:
      type: string
      enum:
      - UNSPECIFIED
      - ENABLED
      - DISABLED
      default: UNSPECIFIED
      description: Enumeration of the enabling states with a default UNSPECIFIED state.
    messagesUpdateAdGroupError:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/messagesUpdateAdGroupErrorAPIErrorInfo'
    CampaignGoalOptimizeAppInstallsMode:
      type: string
      enum:
      - UNKNOWN_MODE
      - TARGET_CPI_CENTRIC
      - BUDGET_CENTRIC
      - MARGIN_CENTRIC
      - FIXED
      default: UNKNOWN_MODE
      description: ' - FIXED: Read-only for AdCloud.'
    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.
    CampaignGoalOptimizeCpaForWebUaMode:
      type: string
      enum:
      - UNKNOWN_MODE
      - BUDGET_CENTRIC
      default: UNKNOWN_MODE
    CampaignGoalOptimizeAppRoas:
      type: object
      properties:
        target_roas:
          type: number
          format: double
          description: 'Target return on advertising spend (ROAS) in percent.

            For 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.


            Remarkable notes:

            - Case-sensitive as specified in the post-back from MMP.

            - ROAS computation will rely on the accompanied revenue value to each action.'
        target_cpi:
          $ref: '#/components/schemas/adcloudcommonMoney'
          description: 'Target cost per install in AdAccount-wide currency.


            Remarkable notes:

            - 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.

            The 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.

            The rate should be in [-1.0, 1.0].'
      required:
      - revenue_actions
    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.

            Required 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.

            Required when the mode is BUDGET_CENTRIC and target_cpi is unset.

            The 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.

            The rate should be in [-1.0, 1.0].'
      description: Detailed configuration of OPTIMIZE_RETENTION_FOR_APP_UA goal.
    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
    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.

        All the tags in a list will have same throttle rate.'
    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."
    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
    adcloudcommonFloatingPointRange:
      type: object
      properties:
        start:
          type: number
          format: double
        end:
          type: number
          format: double
    commonGender:
      type: string
      enum:
      - UNKNOWN_GENDER
      - FEMALE
      - MALE
      default: UNKNOWN_GENDER
      description: 'Enumeration of gender types.


        This value is not part of the specification.'
    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.
    messagesListAdGroupsResponse:
      type: object
      properties:
        ad_groups:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/dspAdGroup'
          description: 'The list of AdGroups.

            This field is valid if the inquiry_option of the request is UNKNOWN_INQUIRY_OPTION or INQUIRY_ENTITY or INQUIRY_ALL.

            If campaign_id is specified in request, it returns the list of AdGroups under that Campaign.

            If product_id is specified in request, it returns the list of AdGroups under that Product.'
        ad_group_overviews:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/dspAdGroupOverview'
          description: 'The list of the AdGroup overview information

            This field is valid if the inquiry_option of the request is INQUIRY_OVERVIEW or INQUIRY_ALL.'
    CampaignGoalOptimizeCpaRepeatedForAppUaMode:
      type: string
      enum:
      - UNKNOWN_MODE
      - BUDGET_CENTRIC
      default: UNKNOWN_MODE
    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."
    messagesDeleteAdGroupError:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/messagesDeleteAdGroupErrorAPIErrorInfo'
    CampaignGoalOptimizeClicksToAppMode:
      type: string
      enum:
      - UNKNOWN_MODE
      - BUDGET_CENTRIC
      - TARGET_CPC_CENTRIC
      default: UNKNOWN_MODE
    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.

            IP CustomerSet is not included.'
        apps:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/CustomAudienceSetApp'
          description: Matches users by app engagement regardless of event 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."
    messagesListAdGroupsErrorAPIErrorInfoErrorReason:
      type: string
      enum:
      - ERROR_REASON_UNKNOWN
      default: ERROR_REASON_UNKNOWN
    CampaignGoalOptimizeCpaForAppUa:
      type: object
      properties:
        action:
          type: string
          description: 'In-app action events having revenue value the AdAccount wants to achieve.


            Remarkable notes:

            - Case-sensitive as specified in the post-back from MMP.'
        mode:
          $ref: '#/components/schemas/CampaignGoalOptimizeCpaForAppUaMode'
          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.

            The 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.

            The rate should be in [-1.0, 1.0].'
        target_kpi:
          $ref: '#/components/schemas/adcloudcommonMoney'
          description: 'Read-only. Operational target KPI value set by System.

            Populated when the mode is TARGET_PRIMARY_KPI_CENTRIC.'
          readOnly: true
      description: Detailed configuration of OPTIMIZE_CPA_FOR_APP_UA goal.
      required:
      - action
    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.


        This value is not part of the specification.'
    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.

            The rate should be in (0, 2].'
      description: Detailed configuration of OPTIMIZE_REATTRIBUTION_FOR_APP goal.
    CampaignGoalOptimizeCpaForWebUa:
      type: object
      properties:
        action:
          type: string
          description: 'Web action events having revenue value the AdAccount wants to achieve.


            Remarkable notes:

            - Case-sensitive as specified in the post-back from MMP.

            Note(jiyeon): Currently, we optimize `install` events regardless of this action.'
        mode:
          $ref: '#/components/schemas/CampaignGoalOptimizeCpaForWebUaMode'
          description: Optimization mode.
        rate:
          type: number
          format: double
          description: 'The ratio of the daily budget for the autopilot to spend.

            The rate should be in (0, 2].'
      required:
      - action
    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
    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.'
    messagesCreateAdGroupResponse:
      type: object
      properties:
        ad_group:
          $ref: '#/components/schemas/dspAdGroup'
          description: Created AdGroup data.
    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.
    messagesCreateAdGroupErrorAPIErrorInfoErrorReason:
      type: string
      enum:
      - ERROR_REASON_UNKNOWN
      - AD_GROUP_PRICING_MODEL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE
      - AD_GROUP_TARGET_DUPLICATED_AD_PLATFORM
      - AD_GROUP_AD_PLATFORMS_SHOULD_BE_SUBSET_OF_CAMPAIGN
      default: ERROR_REASON_UNKNOWN
      description: " - AD_GROUP_PRICING_MODEL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE: unsupported pricing model id for direct sold ad or house ad.\n - AD_GROUP_TARGET_DUPLICATED_AD_PLATFORM: AdGroup has duplicated targeting ad platform.\n - AD_GROUP_AD_PLATFORMS_SHOULD_BE_SUBSET_OF_CAMPAIGN: AdGroup's targeting ad platforms should be subset of campaign's."
    messagesUpdateAdGroupErrorAPIErrorInfo:
      type: object
      properties:
        reason:
          $ref: '#/components/schemas/messagesUpdateAdGroupErrorAPIErrorInfoErrorReason'
        error_log_id:
          type: string
        context:
          type: object
          additionalProperties:
            type: string
    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.

            The rate should be in (0, 2].'
      description: 'General fixed-cpm goal with pacing option.

        Currently for FIXED_CPM_FOR_CTV and FIXED_CPM_GENERIC.'
      required:
      - target_cpm
    CampaignGoalOptimizeClicksToWebMode:
      type: string
      enum:
      - UNKNOWN_MODE
      - BUDGET_CENTRIC
      - TARGET_CPC_CENTRIC
      default: UNKNOWN_MODE
    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.
    CampaignGoalOptimizeLandingForWebUaMode:
      type: string
      enum:
      - UNKNOWN_MODE
      - BUDGET_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
    messagesDeleteAdGroupErrorAPIErrorInfoErrorReason:
      type: string
      enum:
      - ERROR_REASON_UNKNOWN
      - AD_GROUP_CANNOT_DELETE_ONLY_CHILD
      default: ERROR_REASON_UNKNOWN
      description: ' - AD_GROUP_CANNOT_DELETE_ONLY_CHILD: Cannot delete the specified AdGroup, which is the only child of the Campaign.'
    CampaignGoalOptimizeCpaForAppUaMode:
      type: string
      enum:
      - UNKNOWN_MODE
      - BUDGET_CENTRIC
      - MARGIN_CENTRIC
      - TARGET_PRIMARY_KPI_CENTRIC
      default: UNKNOWN_MODE
    commonLatLng:
      type: object
      properties:
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
      description: Point defines a geo location by latitude, longitude.
    dspAdGroupOverview:
      type: object
      properties:
        ad_group:
          $ref: '#/components/schemas/dspAdGroup'
          description: The retrieved AdGroup.
        campaign_id:
          type: string
          description: ID of the Campaign.
        campaign_title:
          type: string
          description: Title of the Campaign.
        campaign_description:
          type: string
          description: Description of the Campaign.
        campaign_state:
          $ref: '#/components/schemas/dspCampaignState'
          description: State of the Campaign.
        campaign_type:
          $ref: '#/components/schemas/dspCampaignType'
          description: Type of the Campaign.
        campaign_goal:
          $ref: '#/components/schemas/dspCampaignGoal'
          description: Goal of the Campaign.
        campaign_countries:
          type: array
          items:
            type: string
          description: The countries of the Campaign.
        campaign_schedule:
          $ref: '#/components/schemas/commonTimeInterval'
          description: Schedule of the Campaign.
        campaign_auto_delete_at:
          type: string
          format: date-time
          description: Auto delete timestamp of the Campaign.
          readOnly: true
        product_id:
          type: string
          description: ID of the Product.
        product_title:
          type: string
          description: Title of the Product.
      description: AdGroupOverview is an overview i

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moloco/refs/heads/main/openapi/moloco-adgroup-api-openapi.yml