---
title: "Create a new CreativeGroup."
method: POST
path: "/cm/v1/creative-groups"
tags: ["CreativeGroup"]
---

# Create a new CreativeGroup.

`POST /cm/v1/creative-groups`

Create a new CreativeGroup of the Product.

## Query parameters

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

## Request body

- DspCreativeGroup — CreativeGroup is a group of Creatives that may serve with the same purpose, to be referenced by a Campaign.
  - `id` string — Unique identifier of the CreativeGroup. Automatically set by server on creation.
  - `ad_account_id` string — ID of the AdAccount the CreativeGroup belongs to.
  - `product_id` string — ID of the Product the CreativeGroup belongs to.
  - `title` string, required — A descriptive name of the CreativeGroup.
  - `description` string — An optional description about this CreativeGroup.
  - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
  - `creative_ids` string[] — List of Creative ids in this CreativeGroup.
  - `status` 'UNKNOWN_STATUS' | 'DRAFT' | 'SUBMITTED' | 'REVIEW_NOT_NEEDED' | 'UNDER_REVIEW' | 'APPROVED' | 'DISAPPROVED' — Enumeration of all possible CreativeGroup status. - UNKNOWN_STATUS: This value is not part of the specification. - DRAFT: The CreativeGroup is created but not submitted for review yet. - SUBMITTED: The CreativeGroup is submitted and pending review. - REVIEW_NOT_NEEDED: Review is determined by Moloco not needed for this CreativeGroup. - UNDER_REVIEW: The CreativeGroup is being reviewed. - APPROVED: The CreativeGroup has been approved. - DISAPPROVED: The CreativeGroup has been rejected.
  - `action_history` DspCreativeGroupAction[] — List of actions taken on the current Creative.
    - `id` string — Unique identifier of the Action. Automatically set by server on creation.
    - `user_id` string — ID of the user who initiated this action if it's applicable.
    - `user_display_name` string — Display name of the user by whom the action was taken.
    - `action_type` 'UNKNOWN_TYPE' | 'CREATE' | 'UPDATE' | 'START_REVIEW' | 'DISAPPROVE' | 'APPROVE' | 'REQUEST_REVIEW' — Enumeration of all supported CreativeGroup action types. - UNKNOWN_TYPE: This value is not part of the specification. - CREATE: The user created the CreativeGroup. The status of a new Creative will be set to SUBMITTED upon creation. - UPDATE: The user updated the CreativeGroup. The status of the CreativeGroup may be set to SUBMITTED for some significant updates. - START_REVIEW: The reviewer user started the review of the CreativeGroup. The status of the CreativeGroup will be set to UNDER_REVIEW. - DISAPPROVE: The reviewer user reviewed and disapproved the CreativeGroup. The status of the CreativeGroup will be set to DISAPPROVED. - APPROVE: The reviewer user reviewed and approved the CreativeGroup. The status of the CreativeGroup will be set to APPROVED. - REQUEST_REVIEW: Request the CreativeGroup to be reviewed. The CreativeGroup could previously be in UNDER_REVIEW, APPROVED or DISAPPROVED state.
    - `comment` string — Comment for the action.
    - `created_at` string, date-time — Created time.
  - `tracking_link_id` string — MMP specific impression and click TrackingLinks defined specifically for this CreativeGroup. Optional for CreativeGroup which has APP type Product, not allowed for WEB type Product.
  - `landing_url` string — CreativeGroup specific landing URL. Optional for CreativeGroup which has WEB type Product, not allowed for APP type Product.
  - `final_landing_url` string — CreativeGroup specific final landing URL. Optional for CreativeGroup which has WEB type Product, not allowed for APP type Product. Deprecated. v1.3 would be the last version supporting this field. Use landing_url field instead.
  - `mmp_tag` string — Name of the mmp side reporting tag. mmp_tag should be URL-safe string.
  - `audience` AdclouddspAudience — Audience is a final form of AudienceTargeting specification. It is represented by a list of IDs of SharedAudienceTargets and an ad-hoc target condition. All conditions in the audience specification must be met to accept a bid-request. IDs of the SharedAudienceTargets can be either at global or AdAccount level.
    - `shared_audience_target_ids` string[] — A list of IDs for the named AudienceTargets referenced by this audience specification.
    - `targeting_condition` DspAudienceTargetingCondition — AudienceTargetingCondition specifies conditions for AudienceTargeting. This condition object contains various filters on multiple dimensions of bid-request, app, and user. Advertisers can selectively configure desired filters to form a meaningful AudienceTarget condition collectively. The configured individual filters must be satisfied unanimously in order for the resulting collective condition to be satisfied. Only filters with values will be effective. When a filter condition accepts a list of values, i.e., list of countries for "allowed_countries", the filter condition will be met when any match is found among the list. String literals are case insensitive unless specified otherwise; i.e. "USA" and "usa" equally represents the United States of America.
      - `allowed_countries` string[] — Allowed countries in ISO_3166-1_alpha-3 format.
      - `blocked_countries` string[] — Blocked countries in ISO_3166-1_alpha-3 format.
      - `placement_reasons` AudienceTargetingConditionPlacementReason[]
      - `custom_placement_reason` string — The reason of the placement in free-form text.
      - `allowed_app_bundles` string[] — App bundles. A bid-request having a matching publisher app bundle from the list will be accepted. Example to target com.moloco.game or com.moloco.travel apps: "allowed_app_bundles": [ "com.moloco.game", "com.moloco.travel" ] Example to exclude com.moloco.office app: "blocked_app_bundles": [ "com.moloco.office" ]
      - `blocked_app_bundles` string[] — See the documentation for `allowed_app_bundles`.
      - `allowed_content_categories` string[] — Filter for allowed publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "allowed_content_categories": [ "IAB26-1" ]
      - `blocked_content_categories` string[] — Filter for blocked publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "blocked_content_categories": [ "IAB26-1" ]
      - `allowed_cities` string[] — Allowed cities. A bid-request will be accepted when there is at least one match from the city list. Note that each element must be in the form of "city, region" such as "Seattle, WA" in order to disambiguate the same city but different regions. The entry is case-insensitive and whitespace will be ignored. Example to target Seattle or Newyork: "allowed_cities": [ "Seattle, WA", "Newyork, ny" ]
      - `blocked_cities` string[] — Blocked cities.
      - `allowed_creative_types` AdcloudcommonCreativeType[] — Allowed Creative types.
      - `blocked_creative_types` AdcloudcommonCreativeType[] — Blocked Creative types.
      - `allowed_websites` string[] — Allowed websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "allowed_websites": [ "*youtube.com" ].
      - `blocked_websites` string[] — Blocked websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "blocked_websites": [ "*example.com" ].
      - `allowed_geofences` CommonCircle[] — Allowed geofences.
        - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
          - `latitude` number, double
          - `longitude` number, double
        - `radius` number, double
      - `blocked_geofences` CommonCircle[] — Blocked geofences.
        - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
          - `latitude` number, double
          - `longitude` number, double
        - `radius` number, double
      - `allowed_exchanges` CommonAdExchange[] — Allowed ad exchanges. Restricts targeting to bid only on the listed exchanges; an empty list places no restriction. MOLOCO_SDK is automatically included whenever the list is non-empty: submitting a non-empty list that omits MOLOCO_SDK will have it appended on the server side.
      - `blocked_exchanges` CommonAdExchange[] — Blocked ad exchanges. Excludes the listed exchanges from targeting. Adding MOLOCO_SDK to this list is rejected with PERMISSION_DENIED.
      - `allowed_idfas` string[] — Allowed user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
      - `blocked_idfas` string[] — Blocked user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
      - `allowed_zipcodes` string[] — Allowed zipcodes.
      - `blocked_zipcodes` string[] — Blocked zipcodes.
      - `allowed_device_models` string[] — Allowed device models. For example: "allowed_device_models": [ "KFFOWI", "KFGIWI", "KFTT", "KFJWA" ]
      - `blocked_device_models` string[] — Blocked device models.
      - `allowed_user_audience_tags` string[] — Allowed user custom audience tags.
      - `blocked_user_audience_tags` string[] — Blocked user custom audience tags.
      - `allowed_languages` string[] — Allowed languages. Languages in use mostly follow ISO 639-1 code(https://www.loc.gov/standards/iso639-2/php/code_list.php), e.g. "ko" for Korean and "en" for English.
      - `blocked_languages` string[] — Blocked languages.
      - `allowed_device_types` CommonDeviceType[] — Allowed device types. For example: "allowed_device_types": [ "HIGHEND_PHONE", "TABLET" ]
      - `blocked_device_types` CommonDeviceType[] — Blocked device types. For example: "allowed_device_types": [ "SET_TOP_BOX" ]
      - `allowed_mostly_visited_countries` string[] — This filter checks user's history of mostly visited countries against the specified countries in the condition, and passes a request if there is at least one common entry in both lists.
      - `blocked_mostly_visited_countries` string[]
      - `allowed_regions` string[] — Regions are to filter a bid-request based on its region information.
      - `blocked_regions` string[]
      - `allowed_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[] — Recent Campaign activities filter a bid-request by user's recent activity such as click or install in the last n days. The filter is satisfied if there is at least one satisfying condition among the list. Example to target a user who has a click event for com.moloco.gameapp: "allowed_recent_campaign_activities": [ { "campaign_id": "com.moloco.gameapp", "event": "CLICK" } ] Example to block a user who has a install event for com.moloco.officeapp within the past five days: "blocked_recent_campaign_activities": [ { "campaign_id": "com.moloco.officeapp", "event": "INSTALL", "last_n_days": 5 } ]
        - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
        - `campaign_id` string, required — ID of the Campaign to filter on.
        - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
      - `blocked_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[]
        - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
        - `campaign_id` string, required — ID of the Campaign to filter on.
        - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
      - `allowed_locations` AudienceTargetingConditionLocationFilter[] — Location filter targets specific geo-locational audience using combined conditions of different types such as city, region, zipcode and geofence.
        - `cities` string[]
        - `regions` string[]
        - `zipcodes` string[]
        - `geofences` CommonCircle[]
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
      - `blocked_locations` AudienceTargetingConditionLocationFilter[]
        - `cities` string[]
        - `regions` string[]
        - `zipcodes` string[]
        - `geofences` CommonCircle[]
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
      - `genders` CommonGender[]
      - `connection_types` string[] — Connection_types include ETHERNET, WIFI, CELL_UNKNOWN, CELL_2G, CELL_3G, CELL_4G. For example: "connection_types": [ "WIFI", "CELL_4G" ]
      - `allowed_direct_deal_ids` string[] — IDs of the allowed direct deals. A bid-request is accepted only if there is at least one matching id. For example: "allowed_direct_deal_ids": [ "ip_9161499632014fe8b9ef60673a51b745", "ip_e13c0cb23dd54a8ea742b2af61e0712d", "ip_0cfeaebb190d47df8b86399232853e23" ]
      - `blocked_direct_deal_ids` string[] — IDs of the blocked direct deals.
      - `device_oses` AudienceTargetingConditionDeviceOsFilter[] — Device OS requirements if specified.
        - `os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
        - `min_version` string
        - `max_version` string
      - `media_channel_type` 'UNKNOWN_MEDIA_CHANNEL_TYPE' | 'APP' | 'WEB' — - UNKNOWN_MEDIA_CHANNEL_TYPE: This value is not part of the specification.
      - `new_users` AudienceTargetingConditionNewUserFilter — Filter to target new users only.
        - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
      - `advertiser_id_types` CommonAdvertiserIdType[] — Filter on advising ID types, including "ANDROID_IDFA" or "IOS_IDFA".
      - `allowed_video_types` DspAudienceTargetingConditionVideoType[] — Video type filter. Ignored when the bid request is not for video ads.
      - `blocked_video_types` DspAudienceTargetingConditionVideoType[]
      - `weekly_schedules` AudienceTargetingConditionWeeklyScheduleFilter[] — Weekly schedule specifies more fine-grained time range filtering for days of a week. For example, this list can be used to specify commute time ranges in the morning and evening on workdays. Example to target 7-9 am and 5-7 pm during week days: "weekly_schedules": [ { "hour_range": { "start": 7, "end": 9 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] }, { "hour_range": { "start": 17, "end": 19 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] } ] Example to target 10pm to 2am on Fridays and Saturdays: "weekly_schedules": [ { "range": { "start": 22, "end": 2 }, "days": [ "FRI", "SAT" ] } ]
        - `timezone_policy` 'UNKNOWN_TIME' | 'DEVICE_TIME' | 'UTC_TIME' | 'AD_ACCOUNT_TIME' | 'ADVERTISER_TIME' — TimezonePolicy defines the time configuration. - DEVICE_TIME: Time object is given in the device's time (depends on user device timezone). - UTC_TIME: Time object is given in the fixed UTC time (depends on nothing). - AD_ACCOUNT_TIME: Given time is given in fixed ad account time (depends on ad account timezone).
        - `hour_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
        - `days` AdcloudcommonDayOfWeek[], required — Days of week to filter on. At least one is required.
      - `allowed_gender_score` AdcloudcommonFloatingPointRange
        - `start` number, double
        - `end` number, double
      - `blocked_gender_score` AdcloudcommonFloatingPointRange
        - `start` number, double
        - `end` number, double
      - `allowed_ages` AdcloudcommonInterval[] — Age is used to filter based on user's approximate age. A valid value must be in the exclusive range of (0, 100).
        - `start` integer
        - `end` integer
      - `blocked_ages` AdcloudcommonInterval[]
        - `start` integer
        - `end` integer
      - `allowed_ip_ranges` string[] — IP net based condition. The CIDR format must be used for an entry such as https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing. Note that both of IP v4 and v6 could be used at the same time. Example to block bid-requests with any IP within 32.76.52.0 - 32.76.52.255 or 127.0.0.0 - 127.255.255.255: "blocked_ip_ranges": [ "32.76.52.0/24", "127.0.0.0/8" ]
      - `blocked_ip_ranges` string[]
      - `allowed_device_carriers` string[] — Device carrier filter. Example to target SKT: "allowed_device_carriers": [ "SKTelecom" ] Example to exclude T-MOBILE and XFINITY Mobile "blocked_device_carriers": [ "T-MOBILE", "XFINITY Mobile" ]
      - `blocked_device_carriers` string[]
      - `allowed_keywords` string[] — Filter regarding 'keywords' field in a bid request. If specified, an ad request must have at least one of the allowed keywords to satisfy the filter.
      - `blocked_keywords` string[] — Filter regarding 'keywords' field in a bid request. An ad request must not have any of the blocked keywords to satisfy the filter.
      - `user_buckets` AdcloudcommonInterval[] — Filter for the user buckets.
        - `start` integer
        - `end` integer
      - `allowed_ad_units` string[] — // Target timetree_i_prod or timetree_a_prod ad_units "condition": { "allowed_ad_units": [ "timetree_i_prod", "timetree_a_prod" ] } // Exclude timetree_i_test ad_unit "condition": { "blocked_ad_units": [ "timetree_i_test" ] }
      - `blocked_ad_units` string[]
      - `allowed_placements` string[] — placement (a group of ad_units) names. It is untied to ad_units, and follow the ad_unit's filtering rule.
      - `blocked_placements` string[]
      - `allowed_banner_apis` CommonBannerApi[] — // Target MRAID_2 banner only "condition": { "allowed_banner_apis": [ "MRAID_2" ] }
      - `blocked_banner_apis` CommonBannerApi[]
      - `schedule` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
        - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
        - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
      - `audience_data` CommonAudienceData — Audience Data. It is a filter based on AudienceData stored in UPT.
        - `provider` string
        - `condition` string
      - `allowed_apps_by_checksum` string[] — Allow apps by their checksum value.
      - `blocked_apps_by_checksum` string[] — Block apps by their checksum value.
      - `allowed_postback_event_counts` CommonPostbackEventCount[] — PostbackEventCount condition checks the number of specified events and accepts if there is one event that falls within given range of [start, end). In the example, User's event named "Transaction confirmation" must have been appeared 16 times or more to accept for zigbang app. Example: "condition": { "allowed_postback_event_counts": [ { "app_bundle": "com.chbreeze.jikbang4a", "range": { "start": 16, "end": 0 }, "events": [ "Transaction confirmation" ] } ] }
        - `app_bundle` string
        - `range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
        - `events` string[]
      - `auction_types` string[] — Auction types including first price or second price auctions. Example: "condition": { "auction_types": [ "first", "second" ] }
      - `throttle_apt_tags` CommonTagsThrottleCondition — Tags Thrrottle Condition. It specifies a throttle rate for a list of tags. All the tags in a list will have same throttle rate.
        - `tags` string[]
        - `throttle_rate` number, float
      - `allowed_dev_makes` string[] — Allowed device make. Example: "condition":{ "allowed_dev_makes": [ "Apple" ] }
      - `blocked_dev_makes` string[] — Blocked device make. See the example of `allowed_dev_makes`.
      - `display_manager_versions` CommonDisplayManagerVersion[] — DisplayManager Version. Example: "condition": { "display_manager_versions": [ { "min": "1.2", "max": "4.5.6" } ] } // With minimum version requirement: "condition": { "display_manager_versions": [ { "min": "3.0" } ] } // With maximum version requirement: "condition": { "display_manager_versions": [ { "max": "5" } ] }
        - `min` string
        - `max` string
      - `allowed_audiences` string[] — Allowed audiences.
      - `blocked_audiences` string[] — Blocked audiences.
      - `allowed_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Postback event condition filter a bid-request by user's postback summary. Note that audience name and events are of case-sentitive string types. Each entry of allowed_postback_has_all_events_conditions will be satisfied when all listed events are found from user's postback summary.
        - `audiences` string[] — Audience name. i.e. app bundle.
        - `events` string[] — List of events such as install and purchase.
        - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
        - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
        - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
        - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
      - `blocked_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_all_events_conditions will be satisfied when all listed events are not found from user's postback summary.
        - `audiences` string[] — Audience name. i.e. app bundle.
        - `events` string[] — List of events such as install and purchase.
        - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
        - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
        - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
        - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
      - `allowed_postback_has_any_events_conditions` CommonPostbackEventsCondition[]
        - `audiences` string[] — Audience name. i.e. app bundle.
        - `events` string[] — List of events such as install and purchase.
        - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
        - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
        - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
        - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
      - `blocked_postback_has_any_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_any_events_conditions will be satisfied when there is at least one event not matched by the condition from user's postback summary. See the documentation for `allowed_postback_has_any_events_conditions`.
        - `audiences` string[] — Audience name. i.e. app bundle.
        - `events` string[] — List of events such as install and purchase.
        - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
        - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
        - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
        - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
          - `start` integer
          - `end` integer
      - `allowed_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
        - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
        - `zipcodes` LocationSetZipCodeSet[]
          - `zipcodes` string[] — Zipcodes to represent areas to target.
          - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
      - `blocked_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
        - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
        - `zipcodes` LocationSetZipCodeSet[]
          - `zipcodes` string[] — Zipcodes to represent areas to target.
          - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
      - `allowed_apt_tags` string[]
      - `blocked_apt_tags` string[]
      - `coppa_acceptance` 'UNKNOWN_COPPA' | 'ACCEPT_COPPA_ONLY' | 'DENY_COPPA' — Indicates whether to bid according to the COPPA(Children's Online Privacy Protection Act) value of BidRequest. - UNKNOWN_COPPA: Doesn't filter BidRequest according to the coppa value. - ACCEPT_COPPA_ONLY: Bids to BidRequest with coppa=1. - DENY_COPPA: Bids to BidRequest with coppa=0 or empty coppa field.
      - `skan_traffic` 'UNKNOWN_SKAN' | 'TARGET_SKAN_ONLY' | 'TARGET_NON_SKAN' — Indicates whether to bid according to bid requests that support SKAN(SKAdNetwork) or not. - UNKNOWN_SKAN: Doesn't filter BidRequest according to support skan or not in this filter. - TARGET_SKAN_ONLY: Bids only for skan support traffic. - TARGET_NON_SKAN: Bids only for non-skan traffic.
      - `contains_custom_audience` boolean — Whether it contains a `custom_audience` targeting condition. The `custom_audience` targeting condition is legacy, and may contain some internal information. Therefore, we do not reveal them by the API but only signals its non-emptiness with this field.
      - `custom_audience_set` AudienceTargetingConditionCustomAudienceSet — CustomAudienceSet represents a group of target users to whom we're going to show an ad. CustomAudienceSet is consist of a dynamic (not pre-determined) set of target users based on App-events described in the postback messages and pre-defined CustomerSets.
        - `include_having_all` CustomAudienceSetCustomAudienceCondition
          - `app_events` CustomAudienceSetAppEvent[]
            - `product_id` string — The ID of the Product of which PostbackIntegration info is used.
            - `event` string — A case-sensitive string name of an event. (e.g. install, purchase).
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
          - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
          - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
            - `product_id` string — The ID of the Product.
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
        - `include_having_any` CustomAudienceSetCustomAudienceCondition
          - `app_events` CustomAudienceSetAppEvent[]
            - `product_id` string — The ID of the Product of which PostbackIntegration info is used.
            - `event` string — A case-sensitive string name of an event. (e.g. install, purchase).
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
          - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
          - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
            - `product_id` string — The ID of the Product.
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
        - `exclude_having_all` CustomAudienceSetCustomAudienceCondition
          - `app_events` CustomAudienceSetAppEvent[]
            - `product_id` string — The ID of the Product of which PostbackIntegration info is used.
            - `event` string — A case-sensitive string name of an event. (e.g. install, purchase).
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
          - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
          - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
            - `product_id` string — The ID of the Product.
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
        - `exclude_having_any` CustomAudienceSetCustomAudienceCondition
          - `app_events` CustomAudienceSetAppEvent[]
            - `product_id` string — The ID of the Product of which PostbackIntegration info is used.
            - `event` string — A case-sensitive string name of an event. (e.g. install, purchase).
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
          - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
          - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
            - `product_id` string — The ID of the Product.
            - `sliding_window_duration` CommonTimeDuration — Represents a time duration with an amount and a unit.
              - …
  - `feature` DspCreativeFeature — CreativeFeature indicates the feature of the CreativeGroup and its configuration.
    - `type` 'UNKNOWN_CREATIVE_FEATURE_TYPE' | 'GENERAL' | 'DYNAMIC_CREATIVE' — CreativeFeatureType.
    - `dynamic_creative` CreativeFeatureDynamicCreative — Detailed configuration of DYNAMIC_CREATIVE feature.
      - `app_icon_url` string — An app icon URL used by MRAID template.
      - `brand_logo_url` string — A brand image URL used by MRAID template.
      - `business_title` string — A business title used by template.
      - `cta_text` string — Call-To-Action text.
      - `cta_color` string — CTA button(background) color, do not confuse with cta_text_color.
      - `image_border_color` string — Border color around image from catalog.
      - `title_preamble` string — preamble for title.
      - `main_text` string — A custom text for some templates.
      - `main_text_color` string — Main text color.
      - `cta_text_color` string — CTA text color, do not confuse with cta_color.
      - `background_color` string — background color of dynamic creative.
      - `price_locale` string — Locale for creatives. It is used to render prices.
      - `disclaimer_text` string — Disclaimer text.
      - `disclaimer_text_color` string — Disclaimer text color.
      - `sponsored_by` string — Brand name of the sponsor/advertiser.
  - `created_at` string, date-time — Created time.
  - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
  - `publisher_properties` DspCreativeGroupPublisherProperties
    - `skippable` boolean
    - `video_target_ad_position` 'DEFAULT' | 'FIRST_AD_ONLY' | 'LAST_AD_ONLY' — Target ad position for the video source.

## Response `200`

A successful response.

- MessagesCreateCreativeGroupResponse
  - `creative_group` DspCreativeGroup — CreativeGroup is a group of Creatives that may serve with the same purpose, to be referenced by a Campaign.
    - `id` string — Unique identifier of the CreativeGroup. Automatically set by server on creation.
    - `ad_account_id` string — ID of the AdAccount the CreativeGroup belongs to.
    - `product_id` string — ID of the Product the CreativeGroup belongs to.
    - `title` string, required — A descriptive name of the CreativeGroup.
    - `description` string — An optional description about this CreativeGroup.
    - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
    - `creative_ids` string[] — List of Creative ids in this CreativeGroup.
    - `status` 'UNKNOWN_STATUS' | 'DRAFT' | 'SUBMITTED' | 'REVIEW_NOT_NEEDED' | 'UNDER_REVIEW' | 'APPROVED' | 'DISAPPROVED' — Enumeration of all possible CreativeGroup status. - UNKNOWN_STATUS: This value is not part of the specification. - DRAFT: The CreativeGroup is created but not submitted for review yet. - SUBMITTED: The CreativeGroup is submitted and pending review. - REVIEW_NOT_NEEDED: Review is determined by Moloco not needed for this CreativeGroup. - UNDER_REVIEW: The CreativeGroup is being reviewed. - APPROVED: The CreativeGroup has been approved. - DISAPPROVED: The CreativeGroup has been rejected.
    - `action_history` DspCreativeGroupAction[] — List of actions taken on the current Creative.
      - `id` string — Unique identifier of the Action. Automatically set by server on creation.
      - `user_id` string — ID of the user who initiated this action if it's applicable.
      - `user_display_name` string — Display name of the user by whom the action was taken.
      - `action_type` 'UNKNOWN_TYPE' | 'CREATE' | 'UPDATE' | 'START_REVIEW' | 'DISAPPROVE' | 'APPROVE' | 'REQUEST_REVIEW' — Enumeration of all supported CreativeGroup action types. - UNKNOWN_TYPE: This value is not part of the specification. - CREATE: The user created the CreativeGroup. The status of a new Creative will be set to SUBMITTED upon creation. - UPDATE: The user updated the CreativeGroup. The status of the CreativeGroup may be set to SUBMITTED for some significant updates. - START_REVIEW: The reviewer user started the review of the CreativeGroup. The status of the CreativeGroup will be set to UNDER_REVIEW. - DISAPPROVE: The reviewer user reviewed and disapproved the CreativeGroup. The status of the CreativeGroup will be set to DISAPPROVED. - APPROVE: The reviewer user reviewed and approved the CreativeGroup. The status of the CreativeGroup will be set to APPROVED. - REQUEST_REVIEW: Request the CreativeGroup to be reviewed. The CreativeGroup could previously be in UNDER_REVIEW, APPROVED or DISAPPROVED state.
      - `comment` string — Comment for the action.
      - `created_at` string, date-time — Created time.
    - `tracking_link_id` string — MMP specific impression and click TrackingLinks defined specifically for this CreativeGroup. Optional for CreativeGroup which has APP type Product, not allowed for WEB type Product.
    - `landing_url` string — CreativeGroup specific landing URL. Optional for CreativeGroup which has WEB type Product, not allowed for APP type Product.
    - `final_landing_url` string — CreativeGroup specific final landing URL. Optional for CreativeGroup which has WEB type Product, not allowed for APP type Product. Deprecated. v1.3 would be the last version supporting this field. Use landing_url field instead.
    - `mmp_tag` string — Name of the mmp side reporting tag. mmp_tag should be URL-safe string.
    - `audience` AdclouddspAudience — Audience is a final form of AudienceTargeting specification. It is represented by a list of IDs of SharedAudienceTargets and an ad-hoc target condition. All conditions in the audience specification must be met to accept a bid-request. IDs of the SharedAudienceTargets can be either at global or AdAccount level.
      - `shared_audience_target_ids` string[] — A list of IDs for the named AudienceTargets referenced by this audience specification.
      - `targeting_condition` DspAudienceTargetingCondition — AudienceTargetingCondition specifies conditions for AudienceTargeting. This condition object contains various filters on multiple dimensions of bid-request, app, and user. Advertisers can selectively configure desired filters to form a meaningful AudienceTarget condition collectively. The configured individual filters must be satisfied unanimously in order for the resulting collective condition to be satisfied. Only filters with values will be effective. When a filter condition accepts a list of values, i.e., list of countries for "allowed_countries", the filter condition will be met when any match is found among the list. String literals are case insensitive unless specified otherwise; i.e. "USA" and "usa" equally represents the United States of America.
        - `allowed_countries` string[] — Allowed countries in ISO_3166-1_alpha-3 format.
        - `blocked_countries` string[] — Blocked countries in ISO_3166-1_alpha-3 format.
        - `placement_reasons` AudienceTargetingConditionPlacementReason[]
        - `custom_placement_reason` string — The reason of the placement in free-form text.
        - `allowed_app_bundles` string[] — App bundles. A bid-request having a matching publisher app bundle from the list will be accepted. Example to target com.moloco.game or com.moloco.travel apps: "allowed_app_bundles": [ "com.moloco.game", "com.moloco.travel" ] Example to exclude com.moloco.office app: "blocked_app_bundles": [ "com.moloco.office" ]
        - `blocked_app_bundles` string[] — See the documentation for `allowed_app_bundles`.
        - `allowed_content_categories` string[] — Filter for allowed publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "allowed_content_categories": [ "IAB26-1" ]
        - `blocked_content_categories` string[] — Filter for blocked publisher IAB categories. Valid category values can be found in section "5.1 Content Categories" in the "OpenRTB API Specification": https://github.com/openrtb/OpenRTB/blob/master/OpenRTB-API-Specification-Version-2-3-1-FINAL.pdf For example: "blocked_content_categories": [ "IAB26-1" ]
        - `allowed_cities` string[] — Allowed cities. A bid-request will be accepted when there is at least one match from the city list. Note that each element must be in the form of "city, region" such as "Seattle, WA" in order to disambiguate the same city but different regions. The entry is case-insensitive and whitespace will be ignored. Example to target Seattle or Newyork: "allowed_cities": [ "Seattle, WA", "Newyork, ny" ]
        - `blocked_cities` string[] — Blocked cities.
        - `allowed_creative_types` AdcloudcommonCreativeType[] — Allowed Creative types.
        - `blocked_creative_types` AdcloudcommonCreativeType[] — Blocked Creative types.
        - `allowed_websites` string[] — Allowed websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "allowed_websites": [ "*youtube.com" ].
        - `blocked_websites` string[] — Blocked websites. A glob pattern can be used for matching. Ignored for app inventories. For example: "blocked_websites": [ "*example.com" ].
        - `allowed_geofences` CommonCircle[] — Allowed geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `blocked_geofences` CommonCircle[] — Blocked geofences.
          - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
            - `latitude` number, double
            - `longitude` number, double
          - `radius` number, double
        - `allowed_exchanges` CommonAdExchange[] — Allowed ad exchanges. Restricts targeting to bid only on the listed exchanges; an empty list places no restriction. MOLOCO_SDK is automatically included whenever the list is non-empty: submitting a non-empty list that omits MOLOCO_SDK will have it appended on the server side.
        - `blocked_exchanges` CommonAdExchange[] — Blocked ad exchanges. Excludes the listed exchanges from targeting. Adding MOLOCO_SDK to this list is rejected with PERMISSION_DENIED.
        - `allowed_idfas` string[] — Allowed user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `blocked_idfas` string[] — Blocked user IDFAs. IDFA supports glob; e.g. use "*f" to match all IDFAs ending with "f".
        - `allowed_zipcodes` string[] — Allowed zipcodes.
        - `blocked_zipcodes` string[] — Blocked zipcodes.
        - `allowed_device_models` string[] — Allowed device models. For example: "allowed_device_models": [ "KFFOWI", "KFGIWI", "KFTT", "KFJWA" ]
        - `blocked_device_models` string[] — Blocked device models.
        - `allowed_user_audience_tags` string[] — Allowed user custom audience tags.
        - `blocked_user_audience_tags` string[] — Blocked user custom audience tags.
        - `allowed_languages` string[] — Allowed languages. Languages in use mostly follow ISO 639-1 code(https://www.loc.gov/standards/iso639-2/php/code_list.php), e.g. "ko" for Korean and "en" for English.
        - `blocked_languages` string[] — Blocked languages.
        - `allowed_device_types` CommonDeviceType[] — Allowed device types. For example: "allowed_device_types": [ "HIGHEND_PHONE", "TABLET" ]
        - `blocked_device_types` CommonDeviceType[] — Blocked device types. For example: "allowed_device_types": [ "SET_TOP_BOX" ]
        - `allowed_mostly_visited_countries` string[] — This filter checks user's history of mostly visited countries against the specified countries in the condition, and passes a request if there is at least one common entry in both lists.
        - `blocked_mostly_visited_countries` string[]
        - `allowed_regions` string[] — Regions are to filter a bid-request based on its region information.
        - `blocked_regions` string[]
        - `allowed_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[] — Recent Campaign activities filter a bid-request by user's recent activity such as click or install in the last n days. The filter is satisfied if there is at least one satisfying condition among the list. Example to target a user who has a click event for com.moloco.gameapp: "allowed_recent_campaign_activities": [ { "campaign_id": "com.moloco.gameapp", "event": "CLICK" } ] Example to block a user who has a install event for com.moloco.officeapp within the past five days: "blocked_recent_campaign_activities": [ { "campaign_id": "com.moloco.officeapp", "event": "INSTALL", "last_n_days": 5 } ]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `blocked_recent_campaign_activities` AudienceTargetingConditionRecentCampaignActivityFilter[]
          - `event` 'UNKNOWN_EVENT_TYPE' | 'BID_MADE' | 'BID_WON' | 'IMPRESSION' | 'IMPRESSION_EXTRA' | 'CLICK' | 'INSTALL' | 'CUSTOM', required — Enumeration of event types supported by Moloco Ads. This value is not part of the specification. - BID_MADE: A bid has been made for a bid request. - BID_WON: The bid has won the auction. - IMPRESSION: The ad impression has been served to the user. - IMPRESSION_EXTRA: Extra ad impression tracking info, e.g. 50% of a video ad has been shown. - CLICK: The ad has been clicked by the user. - INSTALL: The ad impression or click has been attributed with an app install. - CUSTOM: Custom actions that happen after install.
          - `campaign_id` string, required — ID of the Campaign to filter on.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `allowed_locations` AudienceTargetingConditionLocationFilter[] — Location filter targets specific geo-locational audience using combined conditions of different types such as city, region, zipcode and geofence.
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `blocked_locations` AudienceTargetingConditionLocationFilter[]
          - `cities` string[]
          - `regions` string[]
          - `zipcodes` string[]
          - `geofences` CommonCircle[]
            - `center` CommonLatLng — Point defines a geo location by latitude, longitude.
              - …
            - `radius` number, double
        - `genders` CommonGender[]
        - `connection_types` string[] — Connection_types include ETHERNET, WIFI, CELL_UNKNOWN, CELL_2G, CELL_3G, CELL_4G. For example: "connection_types": [ "WIFI", "CELL_4G" ]
        - `allowed_direct_deal_ids` string[] — IDs of the allowed direct deals. A bid-request is accepted only if there is at least one matching id. For example: "allowed_direct_deal_ids": [ "ip_9161499632014fe8b9ef60673a51b745", "ip_e13c0cb23dd54a8ea742b2af61e0712d", "ip_0cfeaebb190d47df8b86399232853e23" ]
        - `blocked_direct_deal_ids` string[] — IDs of the blocked direct deals.
        - `device_oses` AudienceTargetingConditionDeviceOsFilter[] — Device OS requirements if specified.
          - `os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
          - `min_version` string
          - `max_version` string
        - `media_channel_type` 'UNKNOWN_MEDIA_CHANNEL_TYPE' | 'APP' | 'WEB' — - UNKNOWN_MEDIA_CHANNEL_TYPE: This value is not part of the specification.
        - `new_users` AudienceTargetingConditionNewUserFilter — Filter to target new users only.
          - `last_n_days` integer, required — Target only new users with earliest known activities falling into the window of last N days.
        - `advertiser_id_types` CommonAdvertiserIdType[] — Filter on advising ID types, including "ANDROID_IDFA" or "IOS_IDFA".
        - `allowed_video_types` DspAudienceTargetingConditionVideoType[] — Video type filter. Ignored when the bid request is not for video ads.
        - `blocked_video_types` DspAudienceTargetingConditionVideoType[]
        - `weekly_schedules` AudienceTargetingConditionWeeklyScheduleFilter[] — Weekly schedule specifies more fine-grained time range filtering for days of a week. For example, this list can be used to specify commute time ranges in the morning and evening on workdays. Example to target 7-9 am and 5-7 pm during week days: "weekly_schedules": [ { "hour_range": { "start": 7, "end": 9 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] }, { "hour_range": { "start": 17, "end": 19 }, "days": [ "MON", "TUE", "WED", "THU", "FRI" ] } ] Example to target 10pm to 2am on Fridays and Saturdays: "weekly_schedules": [ { "range": { "start": 22, "end": 2 }, "days": [ "FRI", "SAT" ] } ]
          - `timezone_policy` 'UNKNOWN_TIME' | 'DEVICE_TIME' | 'UTC_TIME' | 'AD_ACCOUNT_TIME' | 'ADVERTISER_TIME' — TimezonePolicy defines the time configuration. - DEVICE_TIME: Time object is given in the device's time (depends on user device timezone). - UTC_TIME: Time object is given in the fixed UTC time (depends on nothing). - AD_ACCOUNT_TIME: Given time is given in fixed ad account time (depends on ad account timezone).
          - `hour_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `days` AdcloudcommonDayOfWeek[], required — Days of week to filter on. At least one is required.
        - `allowed_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `blocked_gender_score` AdcloudcommonFloatingPointRange
          - `start` number, double
          - `end` number, double
        - `allowed_ages` AdcloudcommonInterval[] — Age is used to filter based on user's approximate age. A valid value must be in the exclusive range of (0, 100).
          - `start` integer
          - `end` integer
        - `blocked_ages` AdcloudcommonInterval[]
          - `start` integer
          - `end` integer
        - `allowed_ip_ranges` string[] — IP net based condition. The CIDR format must be used for an entry such as https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing. Note that both of IP v4 and v6 could be used at the same time. Example to block bid-requests with any IP within 32.76.52.0 - 32.76.52.255 or 127.0.0.0 - 127.255.255.255: "blocked_ip_ranges": [ "32.76.52.0/24", "127.0.0.0/8" ]
        - `blocked_ip_ranges` string[]
        - `allowed_device_carriers` string[] — Device carrier filter. Example to target SKT: "allowed_device_carriers": [ "SKTelecom" ] Example to exclude T-MOBILE and XFINITY Mobile "blocked_device_carriers": [ "T-MOBILE", "XFINITY Mobile" ]
        - `blocked_device_carriers` string[]
        - `allowed_keywords` string[] — Filter regarding 'keywords' field in a bid request. If specified, an ad request must have at least one of the allowed keywords to satisfy the filter.
        - `blocked_keywords` string[] — Filter regarding 'keywords' field in a bid request. An ad request must not have any of the blocked keywords to satisfy the filter.
        - `user_buckets` AdcloudcommonInterval[] — Filter for the user buckets.
          - `start` integer
          - `end` integer
        - `allowed_ad_units` string[] — // Target timetree_i_prod or timetree_a_prod ad_units "condition": { "allowed_ad_units": [ "timetree_i_prod", "timetree_a_prod" ] } // Exclude timetree_i_test ad_unit "condition": { "blocked_ad_units": [ "timetree_i_test" ] }
        - `blocked_ad_units` string[]
        - `allowed_placements` string[] — placement (a group of ad_units) names. It is untied to ad_units, and follow the ad_unit's filtering rule.
        - `blocked_placements` string[]
        - `allowed_banner_apis` CommonBannerApi[] — // Target MRAID_2 banner only "condition": { "allowed_banner_apis": [ "MRAID_2" ] }
        - `blocked_banner_apis` CommonBannerApi[]
        - `schedule` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
          - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
          - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
        - `audience_data` CommonAudienceData — Audience Data. It is a filter based on AudienceData stored in UPT.
          - `provider` string
          - `condition` string
        - `allowed_apps_by_checksum` string[] — Allow apps by their checksum value.
        - `blocked_apps_by_checksum` string[] — Block apps by their checksum value.
        - `allowed_postback_event_counts` CommonPostbackEventCount[] — PostbackEventCount condition checks the number of specified events and accepts if there is one event that falls within given range of [start, end). In the example, User's event named "Transaction confirmation" must have been appeared 16 times or more to accept for zigbang app. Example: "condition": { "allowed_postback_event_counts": [ { "app_bundle": "com.chbreeze.jikbang4a", "range": { "start": 16, "end": 0 }, "events": [ "Transaction confirmation" ] } ] }
          - `app_bundle` string
          - `range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `events` string[]
        - `auction_types` string[] — Auction types including first price or second price auctions. Example: "condition": { "auction_types": [ "first", "second" ] }
        - `throttle_apt_tags` CommonTagsThrottleCondition — Tags Thrrottle Condition. It specifies a throttle rate for a list of tags. All the tags in a list will have same throttle rate.
          - `tags` string[]
          - `throttle_rate` number, float
        - `allowed_dev_makes` string[] — Allowed device make. Example: "condition":{ "allowed_dev_makes": [ "Apple" ] }
        - `blocked_dev_makes` string[] — Blocked device make. See the example of `allowed_dev_makes`.
        - `display_manager_versions` CommonDisplayManagerVersion[] — DisplayManager Version. Example: "condition": { "display_manager_versions": [ { "min": "1.2", "max": "4.5.6" } ] } // With minimum version requirement: "condition": { "display_manager_versions": [ { "min": "3.0" } ] } // With maximum version requirement: "condition": { "display_manager_versions": [ { "max": "5" } ] }
          - `min` string
          - `max` string
        - `allowed_audiences` string[] — Allowed audiences.
        - `blocked_audiences` string[] — Blocked audiences.
        - `allowed_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Postback event condition filter a bid-request by user's postback summary. Note that audience name and events are of case-sentitive string types. Each entry of allowed_postback_has_all_events_conditions will be satisfied when all listed events are found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_all_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_all_events_conditions will be satisfied when all listed events are not found from user's postback summary.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_postback_has_any_events_conditions` CommonPostbackEventsCondition[]
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `blocked_postback_has_any_events_conditions` CommonPostbackEventsCondition[] — Each entry of blocked_postback_has_any_events_conditions will be satisfied when there is at least one event not matched by the condition from user's postback summary. See the documentation for `allowed_postback_has_any_events_conditions`.
          - `audiences` string[] — Audience name. i.e. app bundle.
          - `events` string[] — List of events such as install and purchase.
          - `past_time_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
          - `past_time_range_unit` 'UNKNOWN_TIME_UNIT' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — A unit of time, e.g. second, minute, etc. This value is not part of the specification.
          - `range` CommonTimeInterval — Interval with start and end timestamps in RFC3339 format.
            - `start` string, date-time — Start time in RFC3339 format, e.g. "2017-04-01T12:34:56+00:00".
            - `end` string, date-time — End time in RFC3339 format, e.g. "2017-05-01-T21:09:08+00:00".
          - `short_term_user_profile` boolean — If set, short-term user profile information is used to evaluate this condition.
          - `count_range` AdcloudcommonInterval — Interval represents a contiguous integer range [start, end).
            - `start` integer
            - `end` integer
        - `allowed_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `blocked_location_set` AudienceTargetingConditionLocationSet — LocationSet represents target areas to allow or block. If multiple fields are set, a union of them is used.
          - `osm_ids` string[] — OpenStreetMap IDs to represent areas to target.
          - `zipcodes` LocationSetZipCodeSet[]
            - `zipcodes` string[] — Zipcodes to represent areas to target.
            - `country` string — Uppercase Country code in ISO 3166-1 alpha-2.
        - `allowed_apt_tags` string[]
        - `blocked_apt_tags` string[]
        - `coppa_acceptance` 'UNKNOWN_COPPA' | 'ACCEPT_COPPA_ONLY' | 'DENY_COPPA' — Indicates whether to bid according to the COPPA(Children's Online Privacy Protection Act) value of BidRequest. - UNKNOWN_COPPA: Doesn't filter BidRequest according to the coppa value. - ACCEPT_COPPA_ONLY: Bids to BidRequest with coppa=1. - DENY_COPPA: Bids to BidRequest with coppa=0 or empty coppa field.
        - `skan_traffic` 'UNKNOWN_SKAN' | 'TARGET_SKAN_ONLY' | 'TARGET_NON_SKAN' — Indicates whether to bid according to bid requests that support SKAN(SKAdNetwork) or not. - UNKNOWN_SKAN: Doesn't filter BidRequest according to support skan or not in this filter. - TARGET_SKAN_ONLY: Bids only for skan support traffic. - TARGET_NON_SKAN: Bids only for non-skan traffic.
        - `contains_custom_audience` boolean — Whether it contains a `custom_audience` targeting condition. The `custom_audience` targeting condition is legacy, and may contain some internal information. Therefore, we do not reveal them by the API but only signals its non-emptiness with this field.
        - `custom_audience_set` AudienceTargetingConditionCustomAudienceSet — CustomAudienceSet represents a group of target users to whom we're going to show an ad. CustomAudienceSet is consist of a dynamic (not pre-determined) set of target users based on App-events described in the postback messages and pre-defined CustomerSets.
          - `include_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `include_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_all` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
          - `exclude_having_any` CustomAudienceSetCustomAudienceCondition
            - `app_events` CustomAudienceSetAppEvent[]
              - …
            - `user_lists` string[] — IDs of pre-defined CustomerSets. IP CustomerSet is not included.
            - `apps` CustomAudienceSetApp[] — Matches users by app engagement regardless of event type.
              - …
    - `feature` DspCreativeFeature — CreativeFeature indicates the feature of the CreativeGroup and its configuration.
      - `type` 'UNKNOWN_CREATIVE_FEATURE_TYPE' | 'GENERAL' | 'DYNAMIC_CREATIVE' — CreativeFeatureType.
      - `dynamic_creative` CreativeFeatureDynamicCreative — Detailed configuration of DYNAMIC_CREATIVE feature.
        - `app_icon_url` string — An app icon URL used by MRAID template.
        - `brand_logo_url` string — A brand image URL used by MRAID template.
        - `business_title` string — A business title used by template.
        - `cta_text` string — Call-To-Action text.
        - `cta_color` string — CTA button(background) color, do not confuse with cta_text_color.
        - `image_border_color` string — Border color around image from catalog.
        - `title_preamble` string — preamble for title.
        - `main_text` string — A custom text for some templates.
        - `main_text_color` string — Main text color.
        - `cta_text_color` string — CTA text color, do not confuse with cta_color.
        - `background_color` string — background color of dynamic creative.
        - `price_locale` string — Locale for creatives. It is used to render prices.
        - `disclaimer_text` string — Disclaimer text.
        - `disclaimer_text_color` string — Disclaimer text color.
        - `sponsored_by` string — Brand name of the sponsor/advertiser.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
    - `publisher_properties` DspCreativeGroupPublisherProperties
      - `skippable` boolean
      - `video_target_ad_position` 'DEFAULT' | 'FIRST_AD_ONLY' | 'LAST_AD_ONLY' — Target ad position for the video source.
  - `creatives` DspCreative[] — The Creatives in the retrieved CreativeGroup.
    - `id` string — Unique identifier of the Creative. Automatically set by server on creation.
    - `ad_account_id` string — ID of the AdAccount the Creative belongs to.
    - `product_id` string — ID of the Product the Creative belongs to.
    - `title` string, required — A descriptive name of the Creative.
    - `enabling_state` 'UNSPECIFIED' | 'ENABLED' | 'DISABLED' — Enumeration of the enabling states with a default UNSPECIFIED state.
    - `advertiser_info` DspAdvertiserInfo — AdvertiserInfo contains some basic information about an advertiser. It may be returned to Creative reviewers or other users with other non-advertiser roles to perform their duty without leaking any private advertiser information.
      - `id` string — Unique ID of the advertiser.
      - `title` string — A descriptive name of the advertiser.
      - `description` string — A description of the advertiser.
    - `type` 'UNKNOWN_TYPE' | 'IMAGE' | 'VIDEO' | 'VAST_VIDEO' | 'NATIVE' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'CUSTOM_HTML' | 'TEMPLATE_HTML' | 'RICH_CUSTOM_HTML' | 'DYNAMIC_HTML' | 'AD_TAG' — Type of the Creative. Only one of the Creative source fields matching the type is allowed to be specified. - UNKNOWN_TYPE: This value is not part of the specification. - IMAGE: Image Creative. The image Creative source must be specified for this type. - VIDEO: Video Creative. The video Creative source must be specified for this type. - VAST_VIDEO: Vast video Creative. The vast video Creative source must be specified for this type. - NATIVE: Deprecated. v1.5 is the last version supporting this version. Native Creative. The native Creative source must be specified for this type. - NATIVE_IMAGE: Native image Creative. The native image Creative source must be specified for this type. - NATIVE_VIDEO: Native video Creative. The native video Creative source must be specified for this type. - CUSTOM_HTML: (Will be supported soon) Custom HTML Creative. The custom HTML Creative source must be specified for this type. - TEMPLATE_HTML: (Will be supported soon) Template HTML Creative. The template HTML Creative source must be specified for this type. - RICH_CUSTOM_HTML: The rich custom HTML Creative. The rich custom HTML Creative source must be specified for this type. - DYNAMIC_HTML: (Will be supported soon) The dynamic HTML Creative. The dynamic HTML Creative source must be specified for this type. - AD_TAG: (Will be supported soon) Third-party ad tag Creative with script-based or vast tag-based ad tag.
    - `original_filename` string, required — Original Creative filename given by user.
    - `size_in_bytes` integer — Estimated size of the Creative in bytes.
    - `custom_key_values` object — Custom key/values managed by the Moloco Ads client platform. It's up to the client ads platform to define the schema for the values and their optionality. The keys are recommended, but not required, to be prefixed with the reversed internet domain of the AdCloud client platform company. For example, keys defined by the client ads platform company "example.com" should have "com.example." as the prefix. For complex values, JSON payload is recommended. Moloco doesn't interpret these data in any way for ads serving. Upon serving, the custom key/values in the AdAccount, Campaign, and Creative models will be combined into the serving Creative proto in the order of precedence, with Creative's value having the highest precedence on the same key.
    - `image` DspCreativeImageSrc — Source of image Creative. Supported formats: JPEG, PNG, GIF. Maximum file size: 500KB (5MB for GIF). Banner dimensions: - 100x21, 300x50, 300x100, 320x48, 320x50, 320x100 - 360x56, 375x50, 375x59, 392x61, 411x64, 414x50, 414x65, 468x60 - 481x56, 640x100, 640x200, 667x56, 711x88, 800x50 - 970x250, 994x250, 1029x258 Full screen dimensions: - 300x600, 320x416, 320x480, 320x568, 360x592, 360x604, 360x640 - 360x718, 360x724, 360x728, 375x667, 384x787, 412x790, 414x736 - 428x846, 480x320, 640x360 Medium dimensions: - 160x600, 200x200, 250x250, 300x250, 320x240, 320x267, 336x280, 600x500 Tablet dimensions: - 728x90, 768x1024, 1024x90, 1024x768, 1280x90
      - `image_url` string — URL of the image.
      - `filename` string — Original filename of the image.
      - `width` integer — Width of the Creative.
      - `height` integer — Height of the Creative.
      - `size_in_bytes` integer — Size of the image in bytes.
    - `video` DspCreativeVideoSrc — Source of video Creative. Supported format: MP4. Maximum file size: 300MB (before transcoding). At least one of width or height must be ≥ 640px. Duration: 6–180 seconds.
      - `video_url` string, required — URL of the video media. Currently we support only mp4 format.
      - `filename` string — Original filename of the video.
      - `width` integer, required — Width of the Creative.
      - `height` integer, required — Height of the Creative.
      - `length_seconds` integer, required — Video length in seconds.
      - `fps` integer — Number of frames per second for the video.
      - `size_in_bytes` integer — Size of the video in bytes. Note it doesn't include the bytes for the companion images.
      - `companion_images` DspCreativeImageSrc[] — Endcard image shown after video play ends. The orientation must match the video orientation. Supported formats: JPEG, PNG, GIF. Maximum file size: 500KB (5MB for GIF).
        - `image_url` string — URL of the image.
        - `filename` string — Original filename of the image.
        - `width` integer — Width of the Creative.
        - `height` integer — Height of the Creative.
        - `size_in_bytes` integer — Size of the image in bytes.
      - `auto_endcard` boolean — Whether the endcard is generated automatically by MCP or manually uploaded by the user.
      - `playable_endcard` DspCreativeRichCustomHtmlSrc — Creative source based on arbitrary HTML. An instance of this is typically used for a playable Creative from AdAccounts. You can create RichCustomHtmlSrc by one of two methods: 1. Upload FB style html file using CreateAssetUploadSession API(PLAYABLE_AD_SOURCE_TYPE_URL) 2. Use Creative template third parties: tresensa or spaceback(PLAYABLE_AD_SOURCE_TYPE_TAG).
        - `entry_html` string — The entry HTML code of the Creative. This field is read only. For write purposes, use playable_ad_source instead.
        - `html_requirement_attributes` DspCreativeHtmlRequirementAttributes, required — Requirements for displaying the Creative. During bidding, Moloco ensures only Creatives with HTML requirements satisfied by the inventory are served.
          - `flags` DspCreativeHtmlRequirementAttributesFlag[] — Flags for describing features that the enclosing Creative requires.
          - `use_custom_close` 'UNKNOWN_CUSTOM_CLOSE_TYPE' | 'CUSTOM_CLOSE_TYPE_NONE' | 'CUSTOM_CLOSE_TYPE_ENABLED' | 'CUSTOM_CLOSE_TYPE_CONTROLLABLE' — The Creative uses useCustomClose() functionally in MRAID. It may not be specified. It is NOT SPECIFIED. - CUSTOM_CLOSE_TYPE_NONE: It does not use useCustomClose(). - CUSTOM_CLOSE_TYPE_ENABLED: It uses useCustomClose(). - CUSTOM_CLOSE_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
          - `auto_play_audio` 'UNKNOWN_AUTO_PLAY_AUDIO_TYPE' | 'AUTO_PLAY_AUDIO_TYPE_MUTED' | 'AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY' | 'AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE' — The Creative plays audio automatically; i.e., it starts muted. It may not be specified. It is NOT SPECIFIED. - AUTO_PLAY_AUDIO_TYPE_MUTED: It does not play audio automatically. - AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY: It plays audio automatically. - AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
        - `html_size_attributes` DspCreativeHtmlSizeAttributes — Size-related attributes for a resizable Creative, such as an HTML-based one. This message acts as a filter condition; if an inventory is matched with the condition in this message, the enclosing Creative passes; i.e., the Creative is not filtered out.
          - `interstitial` boolean — Passes as long as the inventory is for an interstitial ad.
          - `fixed` CreativeHtmlSizeAttributesFixed[] — Passes as long as the inventory size matches with one of the elements in the list. If the Creative can be rotated, then one should specify both configurations. For non-interstitial ads, at least one dimension is required.
            - `width` integer
            - `height` integer
        - `max_video_duration_seconds` integer — Max duration of video sources, in seconds. It will be set to 0 if no video source is found in this Creative.
        - `playable_ad_source` CreativeRichCustomHtmlSrcPlayableADSourceData
          - `type` 'UNKNOWN_PLAYABLE_AD_SOURCE_TYPE' | 'PLAYABLE_AD_SOURCE_TYPE_URL' | 'PLAYABLE_AD_SOURCE_TYPE_TAG' — - PLAYABLE_AD_SOURCE_TYPE_URL: Source is a URL of the playable ad html. (facebook style). - PLAYABLE_AD_SOURCE_TYPE_TAG: Source is a playable ad html tag generated by the third party. (tresensa, spaceback, luna, playable factory, craftsmanplus).
          - `value` string — When type is PLAYABLE_AD_SOURCE_TYPE_URL, then URL of the uploaded HTML file. When type is PLAYABLE_AD_SOURCE_TYPE_TAG, then the full tag string.
        - `filename` string — The filename of HTML file.
      - `dynamic_html_endcard` DspCreativeDynamicHtmlSrc — (Will be supported soon) Dynamic Creative. An instance of this would be used for Creatives to be rendered when the Creative is shown to user, i.e. an impression takes place, unlike bid-time rendering for static images.
        - `template_id` string, required — ID of the template used to render this Creative.
        - `template_env` object — Environment used to render this Creative.
        - `rendered_entry_html` string, required — The entry HTML of the rendered Creative.
        - `html_requirement_attributes` DspCreativeHtmlRequirementAttributes — Requirements for displaying the Creative. During bidding, Moloco ensures only Creatives with HTML requirements satisfied by the inventory are served.
          - `flags` DspCreativeHtmlRequirementAttributesFlag[] — Flags for describing features that the enclosing Creative requires.
          - `use_custom_close` 'UNKNOWN_CUSTOM_CLOSE_TYPE' | 'CUSTOM_CLOSE_TYPE_NONE' | 'CUSTOM_CLOSE_TYPE_ENABLED' | 'CUSTOM_CLOSE_TYPE_CONTROLLABLE' — The Creative uses useCustomClose() functionally in MRAID. It may not be specified. It is NOT SPECIFIED. - CUSTOM_CLOSE_TYPE_NONE: It does not use useCustomClose(). - CUSTOM_CLOSE_TYPE_ENABLED: It uses useCustomClose(). - CUSTOM_CLOSE_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
          - `auto_play_audio` 'UNKNOWN_AUTO_PLAY_AUDIO_TYPE' | 'AUTO_PLAY_AUDIO_TYPE_MUTED' | 'AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY' | 'AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE' — The Creative plays audio automatically; i.e., it starts muted. It may not be specified. It is NOT SPECIFIED. - AUTO_PLAY_AUDIO_TYPE_MUTED: It does not play audio automatically. - AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY: It plays audio automatically. - AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
        - `html_size_attributes` DspCreativeHtmlSizeAttributes — Size-related attributes for a resizable Creative, such as an HTML-based one. This message acts as a filter condition; if an inventory is matched with the condition in this message, the enclosing Creative passes; i.e., the Creative is not filtered out.
          - `interstitial` boolean — Passes as long as the inventory is for an interstitial ad.
          - `fixed` CreativeHtmlSizeAttributesFixed[] — Passes as long as the inventory size matches with one of the elements in the list. If the Creative can be rotated, then one should specify both configurations. For non-interstitial ads, at least one dimension is required.
            - `width` integer
            - `height` integer
        - `policy` DspCreativeDynamicHtmlSrcPolicy — Policy defines how to select CatalogItems.
          - `function` 'UNKNOWN_POLICY' | 'RANDOM_SELECTION' | 'MOST_RECENT_VIEW' | 'IN_CART' | 'GLOBAL_TREND' | 'TREND' | 'COMBINED_EVENTS_RECENCY' | 'FREQUENTLY_BOUGHT_TOGETHER' | 'FREQUENTLY_SEEN_TOGETHER' | 'KEYWORD_SEARCH_WITH_CLIENT_RESULT' | 'COMBINED_EVENTS_RECENCY_WITH_KEYWORD_SEARCH' | 'MODEL' | 'GAME' | 'RMP_AUDIENCE_EXTENSION' | 'MCM_ITEM_RECOMMENDATION' | 'NEXT_ITEM_SELECTION' — PolicyFunction defines algorithms for selecting CatalogItems or CreativeElements for a game. - IN_CART: GLOBAL_TREND will be deprecated and replaced by TREND. During A/B testing, we will keep this not to break the test. - MODEL: For model policies, the policy enum is in the form of MODEL_{SOURCER_TYPE}_{EVALUATOR_TYPE}_{EVALUATOR_SUB_TYPE} - GAME: GAME policy is used to select Creative elements of game. - RMP_AUDIENCE_EXTENSION: Policy for RMP Audience Extension. - MCM_ITEM_RECOMMENDATION: Policy for MCM Item Recommendation. - NEXT_ITEM_SELECTION: Policy for NEXT Item Selection.
          - `function_config` PolicyPolicyFunctionConfig — Configuration for PolicyFunction. Some PolicyFunction requires an instance of this message to get a function: Policy -> CatalogItem/CreativeElement list.
            - `trend` PolicyFunctionConfigTrendConfig — TREND PolicyFunction's config.
              - …
            - `model` PolicyFunctionConfigModelConfig
              - …
            - `game` PolicyFunctionConfigGameConfig
              - …
            - `mcm_item_recommendation` PolicyFunctionConfigMcmItemRecommendationConfig
              - …
            - `next_item_selection` PolicyFunctionConfigNextItemSelectionConfig — NEXT_ITEM_SELECTION PolicyFunction's config. NEXT tunes its item selection logic at the Config level rather than the PolicyFunction level.
          - `num_items` integer — Number of items to be selected.
          - `catalog` string — Catalog ID. To know the types of catalogs supported, contact customer support.
          - `item_capper` PolicyItemCapper — Item-specific capper configurations. The configuration in this message is enforced: - across AdAccounts, - across Campaigns, - across AdGroups, - across CreativeGroups, and - across Creatives.
            - `frequency` PolicyItemCapperFrequency — Frequency represents frequency capping. One can specify "at most 3 exposures per 1 hour" by setting: { "period": "1h", "max_exposures": 3 } This means, when a user sees a CatalogItem 3 times, he/she won't see the same CatalogItem again for 1 hour.
              - …
      - `transcoding_info` CreativeVideoSrcTranscodingInfo
        - `status` 'UNKNOWN_STATUS' | 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED' — - IN_PROGRESS: The transcoding is in progress. - SUCCEEDED: The transcoding has succeeded. - FAILED: The transcoding has failed. Detailed reason can be found from failed_reason.
        - `failed_reason` string — Error message for the FAILED status.
    - `vast_video` DspCreativeVastVideoSrc — Source of VAST (Video Ad Serving Template) video Creative.
      - `vast_tag` string, required — VAST tag to be used in VAST wrapper. E.g. [Example here](https://github.com/InteractiveAdvertisingBureau/VAST_Samples/blob/master/VAST%201-2.0%20Samples/Tremor-Video-Samples/vast_wrapper_linear_1.xml).
      - `width` integer — Width of the Creative.
      - `height` integer — Height of the Creative.
      - `length_seconds` integer — Vast video length in seconds.
    - `native` DspCreativeNativeSrc — Source of native Creative.
      - `icon_image` DspCreativeImageSrc, required — Source of image Creative. Supported formats: JPEG, PNG, GIF. Maximum file size: 500KB (5MB for GIF). Banner dimensions: - 100x21, 300x50, 300x100, 320x48, 320x50, 320x100 - 360x56, 375x50, 375x59, 392x61, 411x64, 414x50, 414x65, 468x60 - 481x56, 640x100, 640x200, 667x56, 711x88, 800x50 - 970x250, 994x250, 1029x258 Full screen dimensions: - 300x600, 320x416, 320x480, 320x568, 360x592, 360x604, 360x640 - 360x718, 360x724, 360x728, 375x667, 384x787, 412x790, 414x736 - 428x846, 480x320, 640x360 Medium dimensions: - 160x600, 200x200, 250x250, 300x250, 320x240, 320x267, 336x280, 600x500 Tablet dimensions: - 728x90, 768x1024, 1024x90, 1024x768, 1280x90
        - `image_url` string — URL of the image.
        - `filename` string — Original filename of the image.
        - `width` integer — Width of the Creative.
        - `height` integer — Height of the Creative.
        - `size_in_bytes` integer — Size of the image in bytes.
      - `main_image` DspCreativeImageSrc, required — Source of image Creative. Supported formats: JPEG, PNG, GIF. Maximum file size: 500KB (5MB for GIF). Banner dimensions: - 100x21, 300x50, 300x100, 320x48, 320x50, 320x100 - 360x56, 375x50, 375x59, 392x61, 411x64, 414x50, 414x65, 468x60 - 481x56, 640x100, 640x200, 667x56, 711x88, 800x50 - 970x250, 994x250, 1029x258 Full screen dimensions: - 300x600, 320x416, 320x480, 320x568, 360x592, 360x604, 360x640 - 360x718, 360x724, 360x728, 375x667, 384x787, 412x790, 414x736 - 428x846, 480x320, 640x360 Medium dimensions: - 160x600, 200x200, 250x250, 300x250, 320x240, 320x267, 336x280, 600x500 Tablet dimensions: - 728x90, 768x1024, 1024x90, 1024x768, 1280x90
        - `image_url` string — URL of the image.
        - `filename` string — Original filename of the image.
        - `width` integer — Width of the Creative.
        - `height` integer — Height of the Creative.
        - `size_in_bytes` integer — Size of the image in bytes.
      - `shrunk_main_image` DspCreativeImageSrc — Source of image Creative. Supported formats: JPEG, PNG, GIF. Maximum file size: 500KB (5MB for GIF). Banner dimensions: - 100x21, 300x50, 300x100, 320x48, 320x50, 320x100 - 360x56, 375x50, 375x59, 392x61, 411x64, 414x50, 414x65, 468x60 - 481x56, 640x100, 640x200, 667x56, 711x88, 800x50 - 970x250, 994x250, 1029x258 Full screen dimensions: - 300x600, 320x416, 320x480, 320x568, 360x592, 360x604, 360x640 - 360x718, 360x724, 360x728, 375x667, 384x787, 412x790, 414x736 - 428x846, 480x320, 640x360 Medium dimensions: - 160x600, 200x200, 250x250, 300x250, 320x240, 320x267, 336x280, 600x500 Tablet dimensions: - 728x90, 768x1024, 1024x90, 1024x768, 1280x90
        - `image_url` string — URL of the image.
        - `filename` string — Original filename of the image.
        - `width` integer — Width of the Creative.
        - `height` integer — Height of the Creative.
        - `size_in_bytes` integer — Size of the image in bytes.
      - `title` string, required — Title of the native ad.
      - `text` string, required — Text message to show.
      - `cta_text` string, required — Call to action text (e.g. "Get a quote").
      - `sponsored_by` string — Brand name of the sponsor/advertiser.
      - `star_rating` number, float — Star rating value of the app. Value should be in the range of [0, 5].
      - `video` DspCreativeVideoSrc — Source of video Creative. Supported format: MP4. Maximum file size: 300MB (before transcoding). At least one of width or height must be ≥ 640px. Duration: 6–180 seconds.
        - `video_url` string, required — URL of the video media. Currently we support only mp4 format.
        - `filename` string — Original filename of the video.
        - `width` integer, required — Width of the Creative.
        - `height` integer, required — Height of the Creative.
        - `length_seconds` integer, required — Video length in seconds.
        - `fps` integer — Number of frames per second for the video.
        - `size_in_bytes` integer — Size of the video in bytes. Note it doesn't include the bytes for the companion images.
        - `companion_images` DspCreativeImageSrc[] — Endcard image shown after video play ends. The orientation must match the video orientation. Supported formats: JPEG, PNG, GIF. Maximum file size: 500KB (5MB for GIF).
          - `image_url` string — URL of the image.
          - `filename` string — Original filename of the image.
          - `width` integer — Width of the Creative.
          - `height` integer — Height of the Creative.
          - `size_in_bytes` integer — Size of the image in bytes.
        - `auto_endcard` boolean — Whether the endcard is generated automatically by MCP or manually uploaded by the user.
        - `playable_endcard` DspCreativeRichCustomHtmlSrc — Creative source based on arbitrary HTML. An instance of this is typically used for a playable Creative from AdAccounts. You can create RichCustomHtmlSrc by one of two methods: 1. Upload FB style html file using CreateAssetUploadSession API(PLAYABLE_AD_SOURCE_TYPE_URL) 2. Use Creative template third parties: tresensa or spaceback(PLAYABLE_AD_SOURCE_TYPE_TAG).
          - `entry_html` string — The entry HTML code of the Creative. This field is read only. For write purposes, use playable_ad_source instead.
          - `html_requirement_attributes` DspCreativeHtmlRequirementAttributes, required — Requirements for displaying the Creative. During bidding, Moloco ensures only Creatives with HTML requirements satisfied by the inventory are served.
            - `flags` DspCreativeHtmlRequirementAttributesFlag[] — Flags for describing features that the enclosing Creative requires.
            - `use_custom_close` 'UNKNOWN_CUSTOM_CLOSE_TYPE' | 'CUSTOM_CLOSE_TYPE_NONE' | 'CUSTOM_CLOSE_TYPE_ENABLED' | 'CUSTOM_CLOSE_TYPE_CONTROLLABLE' — The Creative uses useCustomClose() functionally in MRAID. It may not be specified. It is NOT SPECIFIED. - CUSTOM_CLOSE_TYPE_NONE: It does not use useCustomClose(). - CUSTOM_CLOSE_TYPE_ENABLED: It uses useCustomClose(). - CUSTOM_CLOSE_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
            - `auto_play_audio` 'UNKNOWN_AUTO_PLAY_AUDIO_TYPE' | 'AUTO_PLAY_AUDIO_TYPE_MUTED' | 'AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY' | 'AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE' — The Creative plays audio automatically; i.e., it starts muted. It may not be specified. It is NOT SPECIFIED. - AUTO_PLAY_AUDIO_TYPE_MUTED: It does not play audio automatically. - AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY: It plays audio automatically. - AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
          - `html_size_attributes` DspCreativeHtmlSizeAttributes — Size-related attributes for a resizable Creative, such as an HTML-based one. This message acts as a filter condition; if an inventory is matched with the condition in this message, the enclosing Creative passes; i.e., the Creative is not filtered out.
            - `interstitial` boolean — Passes as long as the inventory is for an interstitial ad.
            - `fixed` CreativeHtmlSizeAttributesFixed[] — Passes as long as the inventory size matches with one of the elements in the list. If the Creative can be rotated, then one should specify both configurations. For non-interstitial ads, at least one dimension is required.
              - …
          - `max_video_duration_seconds` integer — Max duration of video sources, in seconds. It will be set to 0 if no video source is found in this Creative.
          - `playable_ad_source` CreativeRichCustomHtmlSrcPlayableADSourceData
            - `type` 'UNKNOWN_PLAYABLE_AD_SOURCE_TYPE' | 'PLAYABLE_AD_SOURCE_TYPE_URL' | 'PLAYABLE_AD_SOURCE_TYPE_TAG' — - PLAYABLE_AD_SOURCE_TYPE_URL: Source is a URL of the playable ad html. (facebook style). - PLAYABLE_AD_SOURCE_TYPE_TAG: Source is a playable ad html tag generated by the third party. (tresensa, spaceback, luna, playable factory, craftsmanplus).
            - `value` string — When type is PLAYABLE_AD_SOURCE_TYPE_URL, then URL of the uploaded HTML file. When type is PLAYABLE_AD_SOURCE_TYPE_TAG, then the full tag string.
          - `filename` string — The filename of HTML file.
        - `dynamic_html_endcard` DspCreativeDynamicHtmlSrc — (Will be supported soon) Dynamic Creative. An instance of this would be used for Creatives to be rendered when the Creative is shown to user, i.e. an impression takes place, unlike bid-time rendering for static images.
          - `template_id` string, required — ID of the template used to render this Creative.
          - `template_env` object — Environment used to render this Creative.
          - `rendered_entry_html` string, required — The entry HTML of the rendered Creative.
          - `html_requirement_attributes` DspCreativeHtmlRequirementAttributes — Requirements for displaying the Creative. During bidding, Moloco ensures only Creatives with HTML requirements satisfied by the inventory are served.
            - `flags` DspCreativeHtmlRequirementAttributesFlag[] — Flags for describing features that the enclosing Creative requires.
            - `use_custom_close` 'UNKNOWN_CUSTOM_CLOSE_TYPE' | 'CUSTOM_CLOSE_TYPE_NONE' | 'CUSTOM_CLOSE_TYPE_ENABLED' | 'CUSTOM_CLOSE_TYPE_CONTROLLABLE' — The Creative uses useCustomClose() functionally in MRAID. It may not be specified. It is NOT SPECIFIED. - CUSTOM_CLOSE_TYPE_NONE: It does not use useCustomClose(). - CUSTOM_CLOSE_TYPE_ENABLED: It uses useCustomClose(). - CUSTOM_CLOSE_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
            - `auto_play_audio` 'UNKNOWN_AUTO_PLAY_AUDIO_TYPE' | 'AUTO_PLAY_AUDIO_TYPE_MUTED' | 'AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY' | 'AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE' — The Creative plays audio automatically; i.e., it starts muted. It may not be specified. It is NOT SPECIFIED. - AUTO_PLAY_AUDIO_TYPE_MUTED: It does not play audio automatically. - AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY: It plays audio automatically. - AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
          - `html_size_attributes` DspCreativeHtmlSizeAttributes — Size-related attributes for a resizable Creative, such as an HTML-based one. This message acts as a filter condition; if an inventory is matched with the condition in this message, the enclosing Creative passes; i.e., the Creative is not filtered out.
            - `interstitial` boolean — Passes as long as the inventory is for an interstitial ad.
            - `fixed` CreativeHtmlSizeAttributesFixed[] — Passes as long as the inventory size matches with one of the elements in the list. If the Creative can be rotated, then one should specify both configurations. For non-interstitial ads, at least one dimension is required.
              - …
          - `policy` DspCreativeDynamicHtmlSrcPolicy — Policy defines how to select CatalogItems.
            - `function` 'UNKNOWN_POLICY' | 'RANDOM_SELECTION' | 'MOST_RECENT_VIEW' | 'IN_CART' | 'GLOBAL_TREND' | 'TREND' | 'COMBINED_EVENTS_RECENCY' | 'FREQUENTLY_BOUGHT_TOGETHER' | 'FREQUENTLY_SEEN_TOGETHER' | 'KEYWORD_SEARCH_WITH_CLIENT_RESULT' | 'COMBINED_EVENTS_RECENCY_WITH_KEYWORD_SEARCH' | 'MODEL' | 'GAME' | 'RMP_AUDIENCE_EXTENSION' | 'MCM_ITEM_RECOMMENDATION' | 'NEXT_ITEM_SELECTION' — PolicyFunction defines algorithms for selecting CatalogItems or CreativeElements for a game. - IN_CART: GLOBAL_TREND will be deprecated and replaced by TREND. During A/B testing, we will keep this not to break the test. - MODEL: For model policies, the policy enum is in the form of MODEL_{SOURCER_TYPE}_{EVALUATOR_TYPE}_{EVALUATOR_SUB_TYPE} - GAME: GAME policy is used to select Creative elements of game. - RMP_AUDIENCE_EXTENSION: Policy for RMP Audience Extension. - MCM_ITEM_RECOMMENDATION: Policy for MCM Item Recommendation. - NEXT_ITEM_SELECTION: Policy for NEXT Item Selection.
            - `function_config` PolicyPolicyFunctionConfig — Configuration for PolicyFunction. Some PolicyFunction requires an instance of this message to get a function: Policy -> CatalogItem/CreativeElement list.
              - …
            - `num_items` integer — Number of items to be selected.
            - `catalog` string — Catalog ID. To know the types of catalogs supported, contact customer support.
            - `item_capper` PolicyItemCapper — Item-specific capper configurations. The configuration in this message is enforced: - across AdAccounts, - across Campaigns, - across AdGroups, - across CreativeGroups, and - across Creatives.
              - …
        - `transcoding_info` CreativeVideoSrcTranscodingInfo
          - `status` 'UNKNOWN_STATUS' | 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED' — - IN_PROGRESS: The transcoding is in progress. - SUCCEEDED: The transcoding has succeeded. - FAILED: The transcoding has failed. Detailed reason can be found from failed_reason.
          - `failed_reason` string — Error message for the FAILED status.
      - `vast_video` DspCreativeVastVideoSrc — Source of VAST (Video Ad Serving Template) video Creative.
        - `vast_tag` string, required — VAST tag to be used in VAST wrapper. E.g. [Example here](https://github.com/InteractiveAdvertisingBureau/VAST_Samples/blob/master/VAST%201-2.0%20Samples/Tremor-Video-Samples/vast_wrapper_linear_1.xml).
        - `width` integer — Width of the Creative.
        - `height` integer — Height of the Creative.
        - `length_seconds` integer — Vast video length in seconds.
    - `custom_html` DspCreativeCustomHtmlSrc — (Will be supported soon) Creative source based on custom html.
      - `html` string, required — HTML for the custom HTML ad.
      - `width` integer, required — Width of the Creative.
      - `height` integer, required — Height of the Creative.
      - `image_url` string, required — URL of the image.
    - `template_html` DspCreativeTemplateHtmlSrc — (Will be supported soon) Creative source based on MRAID template.
      - `template_id` string, required — ID of the template used to render this Creative.
      - `template_env` object — Environment used to render this Creative.
      - `rendered_entry_html` string, required — The entry HTML of the rendered Creative.
      - `html_requirement_attributes` DspCreativeHtmlRequirementAttributes — Requirements for displaying the Creative. During bidding, Moloco ensures only Creatives with HTML requirements satisfied by the inventory are served.
        - `flags` DspCreativeHtmlRequirementAttributesFlag[] — Flags for describing features that the enclosing Creative requires.
        - `use_custom_close` 'UNKNOWN_CUSTOM_CLOSE_TYPE' | 'CUSTOM_CLOSE_TYPE_NONE' | 'CUSTOM_CLOSE_TYPE_ENABLED' | 'CUSTOM_CLOSE_TYPE_CONTROLLABLE' — The Creative uses useCustomClose() functionally in MRAID. It may not be specified. It is NOT SPECIFIED. - CUSTOM_CLOSE_TYPE_NONE: It does not use useCustomClose(). - CUSTOM_CLOSE_TYPE_ENABLED: It uses useCustomClose(). - CUSTOM_CLOSE_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
        - `auto_play_audio` 'UNKNOWN_AUTO_PLAY_AUDIO_TYPE' | 'AUTO_PLAY_AUDIO_TYPE_MUTED' | 'AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY' | 'AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE' — The Creative plays audio automatically; i.e., it starts muted. It may not be specified. It is NOT SPECIFIED. - AUTO_PLAY_AUDIO_TYPE_MUTED: It does not play audio automatically. - AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY: It plays audio automatically. - AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
      - `html_size_attributes` DspCreativeHtmlSizeAttributes — Size-related attributes for a resizable Creative, such as an HTML-based one. This message acts as a filter condition; if an inventory is matched with the condition in this message, the enclosing Creative passes; i.e., the Creative is not filtered out.
        - `interstitial` boolean — Passes as long as the inventory is for an interstitial ad.
        - `fixed` CreativeHtmlSizeAttributesFixed[] — Passes as long as the inventory size matches with one of the elements in the list. If the Creative can be rotated, then one should specify both configurations. For non-interstitial ads, at least one dimension is required.
          - `width` integer
          - `height` integer
      - `max_video_duration_seconds` integer — Max duration of video sources. Will be 0 if no video source is found in this Creative.
    - `rich_custom_html` DspCreativeRichCustomHtmlSrc — Creative source based on arbitrary HTML. An instance of this is typically used for a playable Creative from AdAccounts. You can create RichCustomHtmlSrc by one of two methods: 1. Upload FB style html file using CreateAssetUploadSession API(PLAYABLE_AD_SOURCE_TYPE_URL) 2. Use Creative template third parties: tresensa or spaceback(PLAYABLE_AD_SOURCE_TYPE_TAG).
      - `entry_html` string — The entry HTML code of the Creative. This field is read only. For write purposes, use playable_ad_source instead.
      - `html_requirement_attributes` DspCreativeHtmlRequirementAttributes, required — Requirements for displaying the Creative. During bidding, Moloco ensures only Creatives with HTML requirements satisfied by the inventory are served.
        - `flags` DspCreativeHtmlRequirementAttributesFlag[] — Flags for describing features that the enclosing Creative requires.
        - `use_custom_close` 'UNKNOWN_CUSTOM_CLOSE_TYPE' | 'CUSTOM_CLOSE_TYPE_NONE' | 'CUSTOM_CLOSE_TYPE_ENABLED' | 'CUSTOM_CLOSE_TYPE_CONTROLLABLE' — The Creative uses useCustomClose() functionally in MRAID. It may not be specified. It is NOT SPECIFIED. - CUSTOM_CLOSE_TYPE_NONE: It does not use useCustomClose(). - CUSTOM_CLOSE_TYPE_ENABLED: It uses useCustomClose(). - CUSTOM_CLOSE_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
        - `auto_play_audio` 'UNKNOWN_AUTO_PLAY_AUDIO_TYPE' | 'AUTO_PLAY_AUDIO_TYPE_MUTED' | 'AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY' | 'AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE' — The Creative plays audio automatically; i.e., it starts muted. It may not be specified. It is NOT SPECIFIED. - AUTO_PLAY_AUDIO_TYPE_MUTED: It does not play audio automatically. - AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY: It plays audio automatically. - AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
      - `html_size_attributes` DspCreativeHtmlSizeAttributes — Size-related attributes for a resizable Creative, such as an HTML-based one. This message acts as a filter condition; if an inventory is matched with the condition in this message, the enclosing Creative passes; i.e., the Creative is not filtered out.
        - `interstitial` boolean — Passes as long as the inventory is for an interstitial ad.
        - `fixed` CreativeHtmlSizeAttributesFixed[] — Passes as long as the inventory size matches with one of the elements in the list. If the Creative can be rotated, then one should specify both configurations. For non-interstitial ads, at least one dimension is required.
          - `width` integer
          - `height` integer
      - `max_video_duration_seconds` integer — Max duration of video sources, in seconds. It will be set to 0 if no video source is found in this Creative.
      - `playable_ad_source` CreativeRichCustomHtmlSrcPlayableADSourceData
        - `type` 'UNKNOWN_PLAYABLE_AD_SOURCE_TYPE' | 'PLAYABLE_AD_SOURCE_TYPE_URL' | 'PLAYABLE_AD_SOURCE_TYPE_TAG' — - PLAYABLE_AD_SOURCE_TYPE_URL: Source is a URL of the playable ad html. (facebook style). - PLAYABLE_AD_SOURCE_TYPE_TAG: Source is a playable ad html tag generated by the third party. (tresensa, spaceback, luna, playable factory, craftsmanplus).
        - `value` string — When type is PLAYABLE_AD_SOURCE_TYPE_URL, then URL of the uploaded HTML file. When type is PLAYABLE_AD_SOURCE_TYPE_TAG, then the full tag string.
      - `filename` string — The filename of HTML file.
    - `dynamic_html` DspCreativeDynamicHtmlSrc — (Will be supported soon) Dynamic Creative. An instance of this would be used for Creatives to be rendered when the Creative is shown to user, i.e. an impression takes place, unlike bid-time rendering for static images.
      - `template_id` string, required — ID of the template used to render this Creative.
      - `template_env` object — Environment used to render this Creative.
      - `rendered_entry_html` string, required — The entry HTML of the rendered Creative.
      - `html_requirement_attributes` DspCreativeHtmlRequirementAttributes — Requirements for displaying the Creative. During bidding, Moloco ensures only Creatives with HTML requirements satisfied by the inventory are served.
        - `flags` DspCreativeHtmlRequirementAttributesFlag[] — Flags for describing features that the enclosing Creative requires.
        - `use_custom_close` 'UNKNOWN_CUSTOM_CLOSE_TYPE' | 'CUSTOM_CLOSE_TYPE_NONE' | 'CUSTOM_CLOSE_TYPE_ENABLED' | 'CUSTOM_CLOSE_TYPE_CONTROLLABLE' — The Creative uses useCustomClose() functionally in MRAID. It may not be specified. It is NOT SPECIFIED. - CUSTOM_CLOSE_TYPE_NONE: It does not use useCustomClose(). - CUSTOM_CLOSE_TYPE_ENABLED: It uses useCustomClose(). - CUSTOM_CLOSE_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
        - `auto_play_audio` 'UNKNOWN_AUTO_PLAY_AUDIO_TYPE' | 'AUTO_PLAY_AUDIO_TYPE_MUTED' | 'AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY' | 'AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE' — The Creative plays audio automatically; i.e., it starts muted. It may not be specified. It is NOT SPECIFIED. - AUTO_PLAY_AUDIO_TYPE_MUTED: It does not play audio automatically. - AUTO_PLAY_AUDIO_TYPE_AUTO_PLAY: It plays audio automatically. - AUTO_PLAY_AUDIO_TYPE_CONTROLLABLE: It is allowed to be changed with respect to target ad exchange.
      - `html_size_attributes` DspCreativeHtmlSizeAttributes — Size-related attributes for a resizable Creative, such as an HTML-based one. This message acts as a filter condition; if an inventory is matched with the condition in this message, the enclosing Creative passes; i.e., the Creative is not filtered out.
        - `interstitial` boolean — Passes as long as the inventory is for an interstitial ad.
        - `fixed` CreativeHtmlSizeAttributesFixed[] — Passes as long as the inventory size matches with one of the elements in the list. If the Creative can be rotated, then one should specify both configurations. For non-interstitial ads, at least one dimension is required.
          - `width` integer
          - `height` integer
      - `policy` DspCreativeDynamicHtmlSrcPolicy — Policy defines how to select CatalogItems.
        - `function` 'UNKNOWN_POLICY' | 'RANDOM_SELECTION' | 'MOST_RECENT_VIEW' | 'IN_CART' | 'GLOBAL_TREND' | 'TREND' | 'COMBINED_EVENTS_RECENCY' | 'FREQUENTLY_BOUGHT_TOGETHER' | 'FREQUENTLY_SEEN_TOGETHER' | 'KEYWORD_SEARCH_WITH_CLIENT_RESULT' | 'COMBINED_EVENTS_RECENCY_WITH_KEYWORD_SEARCH' | 'MODEL' | 'GAME' | 'RMP_AUDIENCE_EXTENSION' | 'MCM_ITEM_RECOMMENDATION' | 'NEXT_ITEM_SELECTION' — PolicyFunction defines algorithms for selecting CatalogItems or CreativeElements for a game. - IN_CART: GLOBAL_TREND will be deprecated and replaced by TREND. During A/B testing, we will keep this not to break the test. - MODEL: For model policies, the policy enum is in the form of MODEL_{SOURCER_TYPE}_{EVALUATOR_TYPE}_{EVALUATOR_SUB_TYPE} - GAME: GAME policy is used to select Creative elements of game. - RMP_AUDIENCE_EXTENSION: Policy for RMP Audience Extension. - MCM_ITEM_RECOMMENDATION: Policy for MCM Item Recommendation. - NEXT_ITEM_SELECTION: Policy for NEXT Item Selection.
        - `function_config` PolicyPolicyFunctionConfig — Configuration for PolicyFunction. Some PolicyFunction requires an instance of this message to get a function: Policy -> CatalogItem/CreativeElement list.
          - `trend` PolicyFunctionConfigTrendConfig — TREND PolicyFunction's config.
            - `name` string
          - `model` PolicyFunctionConfigModelConfig
            - `sourcer_type` 'UNKNOWN_SOURCER' | 'SOURCER_TEST_CATALOG_DEPENDENT' | 'SOURCER_TEST_CATALOG_INDEPENDENT' | 'SOURCER_DEFAULT' | 'SOURCER_USER_SIGNAL' | 'SOURCER_TRENDS' | 'SOURCER_RELATED_ITEMS' | 'SOURCER_AUCTION_ITEMS' — SourcerType defines the type of sourcer for the model.
            - `evaluator_type` 'UNKNOWN_EVALUATOR' | 'EVALUATOR_TEST_CATALOG_DEPENDENT' | 'EVALUATOR_TEST_CATALOG_INDEPENDENT' | 'EVALUATOR_RANDOM' | 'EVALUATOR_LR' — EvaluatorType defines the type of evaluator for the model.
            - `evaluator_suffix` string
            - `user_signal_window_hours` integer
          - `game` PolicyFunctionConfigGameConfig
            - `game_id` string — Game id. it should correspond to GameID of dcr/api.proto.
          - `mcm_item_recommendation` PolicyFunctionConfigMcmItemRecommendationConfig
            - `mcm_platform_id` string
            - `inventory_id` string
          - `next_item_selection` PolicyFunctionConfigNextItemSelectionConfig — NEXT_ITEM_SELECTION PolicyFunction's config. NEXT tunes its item selection logic at the Config level rather than the PolicyFunction level.
        - `num_items` integer — Number of items to be selected.
        - `catalog` string — Catalog ID. To know the types of catalogs supported, contact customer support.
        - `item_capper` PolicyItemCapper — Item-specific capper configurations. The configuration in this message is enforced: - across AdAccounts, - across Campaigns, - across AdGroups, - across CreativeGroups, and - across Creatives.
          - `frequency` PolicyItemCapperFrequency — Frequency represents frequency capping. One can specify "at most 3 exposures per 1 hour" by setting: { "period": "1h", "max_exposures": 3 } This means, when a user sees a CatalogItem 3 times, he/she won't see the same CatalogItem again for 1 hour.
            - `period` string — The period is represented in a format {INTEGER}[smhdw]. For example, "1m" indicates 1 minute. When this field is empty, the system default cooling time is used.
            - `max_exposures` integer — The max number of exposures of a CatalogItem within a period of time.
    - `feature_type` 'UNKNOWN_CREATIVE_FEATURE_TYPE' | 'GENERAL' | 'DYNAMIC_CREATIVE' — CreativeFeatureType.
    - `creator_tag` string — Creator tag to identify who is the resource creator.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.
  - `tracking_link` DspTrackingLink — TrackingLink represents an AdAccount's configuration for.
    - `id` string — Unique identifier of the TrackingLink. Automatically set by server on creation.
    - `ad_account_id` string — The ID of the AdAccount the TrackingLink belongs to.
    - `product_id` string — The ID of the Product the TrackingLink belongs to.
    - `title` string, required — A descriptive name of the TrackingLink.
    - `description` string — An optional description about the TrackingLink.
    - `device_os` 'UNKNOWN_DEVICE_OS' | 'ANDROID' | 'IOS' | 'VERSATILE' | 'MOBILE_WEB' | 'MACOS' | 'WINDOWS' | 'NEXT_VERSATILE', required — Enumeration of device OS types supported by Moloco Ads. This value is not part of the specification. - ANDROID: Android device OS. - IOS: iOS device OS. - VERSATILE: Product with multiple OSes. Specifically for CTV. - MOBILE_WEB: OS for mobile web traffic. - MACOS: OS for MacOS traffic. - WINDOWS: OS for Windows traffic. - NEXT_VERSATILE: OS for Next web product.
    - `click_through_link` TrackingLinkUrlData, required
      - `url` string, required — URL of the TrackingLink.
      - `status` 'UNKNOWN_VERIFICATION_STATUS' | 'UNVERIFIED' | 'VERIFYING' | 'VERIFIED' — Enumeration of various TrackingLink verification status. This value is not part of the specification. - UNVERIFIED: The TrackingLink is not yet verified. - VERIFYING: The TrackingLink is being verified. - VERIFIED: The TrackingLink has been verified.
      - `unverified_status_data` UrlDataUnverifiedStatusData — UnverifiedStatusData represents the information that the link is statically checked, but has not been verified with the MMP integration.
        - `stored_at` string, date-time — Creation time of this link.
        - `user_id` string — The ID of the user who created this link.
      - `verifying_status_data` UrlDataVerifyingStatusData — VerifyingStatusData represents the information that a resolved URL has been sent to the MMP, but we have not received any postback yet. We stay at this state indefinitely until receiving a postback.
        - `attempt_ids` string[] — Each of ID refers to a TrackingLinkVerificationAttempt.
      - `verified_status_data` UrlDataVerifiedStatusData — VerifiedStatusData represents the information of the completed verification.
        - `verified_attempt` DspTrackingLinkVerificationAttempt — TrackingLinkVerificationAttempt represents an attempt to verify a TrackingLink.
          - `id` string — The ID of the TrackingLinkVerificationAttempt.
          - `ad_account_id` string — The AdAccount ID that this attempt belongs to.
          - `tracking_link_id` string — The ID of the TrackingLink that this attempt belongs to.
          - `url_data_type` 'UNKNOWN_URL_DATA_TYPE' | 'CT_LINK' | 'VT_LINK' — The type of the UrlData that this attempt belongs to.
          - `user_id` string — The ID of the user who is conducting the link verification.
          - `user_email` string — The user's email.
          - `user_name` string — The user's name.
          - `tracking_bundle_id` string — The tracking bundle value appears at the postback event.
          - `resolved_url` string — The URL sent to the MMP for the verification test. This is the macro expansion result of the original link URL.
          - `resolved_idfa` string — The IDFA value used to generate the resolved_url.
          - `started_at` string, date-time — The starting time of the verification.
          - `verified_at` string, date-time — The time when the verification test is completed.
    - `view_through_link` TrackingLinkUrlData
      - `url` string, required — URL of the TrackingLink.
      - `status` 'UNKNOWN_VERIFICATION_STATUS' | 'UNVERIFIED' | 'VERIFYING' | 'VERIFIED' — Enumeration of various TrackingLink verification status. This value is not part of the specification. - UNVERIFIED: The TrackingLink is not yet verified. - VERIFYING: The TrackingLink is being verified. - VERIFIED: The TrackingLink has been verified.
      - `unverified_status_data` UrlDataUnverifiedStatusData — UnverifiedStatusData represents the information that the link is statically checked, but has not been verified with the MMP integration.
        - `stored_at` string, date-time — Creation time of this link.
        - `user_id` string — The ID of the user who created this link.
      - `verifying_status_data` UrlDataVerifyingStatusData — VerifyingStatusData represents the information that a resolved URL has been sent to the MMP, but we have not received any postback yet. We stay at this state indefinitely until receiving a postback.
        - `attempt_ids` string[] — Each of ID refers to a TrackingLinkVerificationAttempt.
      - `verified_status_data` UrlDataVerifiedStatusData — VerifiedStatusData represents the information of the completed verification.
        - `verified_attempt` DspTrackingLinkVerificationAttempt — TrackingLinkVerificationAttempt represents an attempt to verify a TrackingLink.
          - `id` string — The ID of the TrackingLinkVerificationAttempt.
          - `ad_account_id` string — The AdAccount ID that this attempt belongs to.
          - `tracking_link_id` string — The ID of the TrackingLink that this attempt belongs to.
          - `url_data_type` 'UNKNOWN_URL_DATA_TYPE' | 'CT_LINK' | 'VT_LINK' — The type of the UrlData that this attempt belongs to.
          - `user_id` string — The ID of the user who is conducting the link verification.
          - `user_email` string — The user's email.
          - `user_name` string — The user's name.
          - `tracking_bundle_id` string — The tracking bundle value appears at the postback event.
          - `resolved_url` string — The URL sent to the MMP for the verification test. This is the macro expansion result of the original link URL.
          - `resolved_idfa` string — The IDFA value used to generate the resolved_url.
          - `started_at` string, date-time — The starting time of the verification.
          - `verified_at` string, date-time — The time when the verification test is completed.
    - `ctv_adjust_dual_vt_link` TrackingLinkUrlData
      - `url` string, required — URL of the TrackingLink.
      - `status` 'UNKNOWN_VERIFICATION_STATUS' | 'UNVERIFIED' | 'VERIFYING' | 'VERIFIED' — Enumeration of various TrackingLink verification status. This value is not part of the specification. - UNVERIFIED: The TrackingLink is not yet verified. - VERIFYING: The TrackingLink is being verified. - VERIFIED: The TrackingLink has been verified.
      - `unverified_status_data` UrlDataUnverifiedStatusData — UnverifiedStatusData represents the information that the link is statically checked, but has not been verified with the MMP integration.
        - `stored_at` string, date-time — Creation time of this link.
        - `user_id` string — The ID of the user who created this link.
      - `verifying_status_data` UrlDataVerifyingStatusData — VerifyingStatusData represents the information that a resolved URL has been sent to the MMP, but we have not received any postback yet. We stay at this state indefinitely until receiving a postback.
        - `attempt_ids` string[] — Each of ID refers to a TrackingLinkVerificationAttempt.
      - `verified_status_data` UrlDataVerifiedStatusData — VerifiedStatusData represents the information of the completed verification.
        - `verified_attempt` DspTrackingLinkVerificationAttempt — TrackingLinkVerificationAttempt represents an attempt to verify a TrackingLink.
          - `id` string — The ID of the TrackingLinkVerificationAttempt.
          - `ad_account_id` string — The AdAccount ID that this attempt belongs to.
          - `tracking_link_id` string — The ID of the TrackingLink that this attempt belongs to.
          - `url_data_type` 'UNKNOWN_URL_DATA_TYPE' | 'CT_LINK' | 'VT_LINK' — The type of the UrlData that this attempt belongs to.
          - `user_id` string — The ID of the user who is conducting the link verification.
          - `user_email` string — The user's email.
          - `user_name` string — The user's name.
          - `tracking_bundle_id` string — The tracking bundle value appears at the postback event.
          - `resolved_url` string — The URL sent to the MMP for the verification test. This is the macro expansion result of the original link URL.
          - `resolved_idfa` string — The IDFA value used to generate the resolved_url.
          - `started_at` string, date-time — The starting time of the verification.
          - `verified_at` string, date-time — The time when the verification test is completed.
    - `tracking_company` 'UNKNOWN_TRACKING_COMPANY' | 'KOCHAVA' | 'ADJUST' | 'MAT' | 'MOLOCO_PIXEL' | 'APPSFLYER' | 'ADBRIX' | 'WEB' | 'GENERIC' | 'TRACKFNT' | 'AIRBRIDGE' | 'MOLOCO_E2E' | 'APSALAR' | 'BRANCH' | 'TENJIN' | 'SINGULAR' | 'ADBRIX_V2' | 'TRAFFICGUARD' | 'GAMELOFT' | 'SKADNETWORK' | 'MYTRACKER' | 'MOLOCO_RMP' | 'MOLOCO_PIXEL_V2' | 'JUSTTRACK' | 'SHOPEE' | 'KOCHAVA_FOR_PUBLISHER' | 'GAMESIGHT' | 'CAULY' | 'HASOFFER' | 'ADACTION' | 'CURATE' — Enumeration for tracking companies supported by Moloco Ads. - WEB: Unnamed trackers - AIRBRIDGE: Moloco's e2e tracker (test purpose only) - KOCHAVA_FOR_PUBLISHER: Kochava's CTV to web event dedicated tracking company.
    - `created_at` string, date-time — Created time.
    - `updated_at` string, date-time — Last updated time. Should not modify on the client side.

## Other responses

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

---

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