changedInput schema / properties / ad_groups / anyOf
Previous value: -[
- {
- "items": {
- "properties": {
- "add_keywords": {
- "description": "Append positive keywords (duplicates skipped, status unchanged); targeting.keywords replaces instead.",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "cpc_bid": {
- "description": "Max CPC, account currency",
- "type": "number"
- },
- "match_type": {
- "enum": [
- "BROAD",
- "PHRASE",
- "EXACT"
- ],
- "type": "string"
- },
- "status": {
- "enum": [
- "ENABLED",
- "PAUSED"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "ads": {
- "description": "Ads to create (no id) or update (with id). Each new ad needs name + creative (headlines, descriptions, final_urls).",
- "items": {
- "description": "An ad. Omit id to create, include id to update.\n\nEditing a creative may replace the ad under a new id; its status carries over unless this call\nsets status. Send only the creative keys you change.",
- "properties": {
- "creative": {
- "description": "Ad creative. Text ads: headlines + descriptions + final_urls.\n\nNever put a creative_picker token in asset_url — it belongs in upload_ref.",
- "properties": {
- "action_button": {
- "description": "AW Video",
- "type": "string"
- },
- "action_headline": {
- "description": "AW Video",
- "type": "string"
- },
- "ad_to_call_properties": {
- "description": "SCM AD_TO_CALL",
- "properties": {
- "message": {
- "description": "AD_TO_MESSAGE text",
- "type": "string"
- },
- "phone_number_id": {
- "type": "string"
- }
- },
- "required": [
- "phone_number_id"
- ],
- "type": "object"
- },
- "ad_to_lens_properties": {
- "description": "SCM AD_TO_LENS",
- "properties": {
- "lens_media_id": {
- "type": "string"
- }
- },
- "required": [
- "lens_media_id"
- ],
- "type": "object"
- },
- "ad_to_message_properties": {
- "description": "SCM AD_TO_MESSAGE",
- "properties": {
- "message": {
- "description": "AD_TO_MESSAGE text",
- "type": "string"
- },
- "phone_number_id": {
- "type": "string"
- }
- },
- "required": [
- "phone_number_id"
- ],
- "type": "object"
- },
- "app_install_properties": {
- "description": "SCM APP_INSTALL",
- "properties": {
- "android_app_url": {
- "type": "string"
- },
- "app_name": {
- "type": "string"
- },
- "icon_media_id": {
- "type": "string"
- },
- "ios_app_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ar_extension_properties": {
- "description": "SCM",
- "properties": {
- "lens_media_id": {
- "type": "string"
- },
- "product_info_card_display_mode": {
- "type": "string"
- }
- },
- "required": [
- "lens_media_id"
- ],
- "type": "object"
- },
- "asset_data": {
- "description": "Base64, small files only",
- "type": "string"
- },
- "asset_height": {
- "type": "number"
- },
- "asset_id": {
- "type": "string"
- },
- "asset_prompt": {
- "description": "AI image prompt; only if the user declined review, else a creative_picker upload_ref",
- "type": "string"
- },
- "asset_type": {
- "description": "Asset type hint: 'image' (default) or 'video'. Helps detect video ads when URL has no extension.",
- "enum": [
- "image",
- "video"
- ],
- "type": "string"
- },
- "asset_url": {
- "description": "Single asset: public URL",
- "type": "string"
- },
- "asset_width": {
- "type": "number"
- },
- "assets": {
- "description": "Image/video assets, one source each (preference: asset_url, asset_id, upload_ref, asset_data, asset_prompt; asset_prompt only if the user explicitly declined to review images, otherwise generate in creative_picker and pass its upload_ref). No image yet? creative_picker browses/uploads/generates first. Single item = single image ad. FA: several items need platform_settings.is_dynamic_creative true; for a creative per placement use placement_assets.",
- "items": {
- "properties": {
- "asset_data": {
- "description": "Base64, small files only",
- "type": "string"
- },
- "asset_height": {
- "type": "integer"
- },
- "asset_id": {
- "description": "Hash/ID from campaign_and_resource_get assets",
- "type": "string"
- },
- "asset_prompt": {
- "description": "AI image prompt; only if the user explicitly declined to review images — otherwise generate in creative_picker and pass its upload_ref",
- "type": "string"
- },
- "asset_type": {
- "enum": [
- "image",
- "video"
- ],
- "type": "string"
- },
- "asset_url": {
- "description": "Public URL; auto-uploaded to the ad account",
- "type": "string"
- },
- "asset_width": {
- "type": "integer"
- },
- "type": {
- "description": "AW: 'logo' for a logo image",
- "type": "string"
- },
- "upload_ref": {
- "description": "From creative_picker",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "brand_name": {
- "description": "SCM brand name",
- "type": "string"
- },
- "business_name": {
- "description": "Business name (AW display/PMax).",
- "type": "string"
- },
- "call_to_action": {
- "description": "CTA button (e.g. LEARN_MORE, SHOP_NOW, SIGN_UP, CONTACT_US, DOWNLOAD)",
- "type": "string"
- },
- "carousel_cards": {
- "description": "Carousel cards; use instead of assets.",
- "items": {
- "properties": {
- "asset_id": {
- "type": "string"
- },
- "asset_url": {
- "type": "string"
- },
- "call_to_action": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "headline": {
- "type": "string"
- },
- "link": {
- "type": "string"
- },
- "upload_ref": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "collection_properties": {
- "description": "SCM COLLECTION",
- "properties": {
- "default_fallback_interaction_type": {
- "type": "string"
- },
- "interaction_zone_id": {
- "type": "string"
- }
- },
- "required": [
- "interaction_zone_id",
- "default_fallback_interaction_type"
- ],
- "type": "object"
- },
- "companion_banner_id": {
- "description": "AW Video",
- "type": "string"
- },
- "companion_banner_url": {
- "description": "AW Video",
- "type": "string"
- },
- "composite_properties": {
- "description": "SCM COMPOSITE",
- "properties": {
- "creative_ids": {
- "description": "SNAP_AD creative ids",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "creative_ids"
- ],
- "type": "object"
- },
- "deep_link_properties": {
- "description": "SCM DEEP_LINK",
- "properties": {
- "android_app_url": {
- "type": "string"
- },
- "app_name": {
- "type": "string"
- },
- "deep_link_uri": {
- "type": "string"
- },
- "fallback_type": {
- "type": "string"
- },
- "icon_media_id": {
- "type": "string"
- },
- "ios_app_id": {
- "type": "string"
- },
- "web_view_fallback_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "descriptions": {
- "description": "Description texts. An item may be {text, pinned_field: DESCRIPTION_1..2 or null} (AW only).",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "pinned_field": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "null unpins"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "file_id": {
- "description": "CGPTA: image file id",
- "type": "string"
- },
- "final_urls": {
- "description": "Landing page URLs",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "headline": {
- "description": "SCM: single headline (else headlines[0])",
- "type": "string"
- },
- "headlines": {
- "description": "Headline texts. An item may be {text, pinned_field: HEADLINE_1..3 or null to unpin} (AW only).",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "pinned_field": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "null unpins"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "image_ids": {
- "description": "Video ad cover image id (one item).",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "lead_gen_form_id": {
- "description": "FA lead form",
- "type": "string"
- },
- "lead_generation_form_id": {
- "description": "SCM LEAD_GENERATION",
- "type": "string"
- },
- "link_descriptions": {
- "description": "Link description (line under the headline); one per ad — more than one needs the ad set's platform_settings.is_dynamic_creative true, which cannot be undone.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "logo_data": {
- "description": "AW display/PMax: logo base64",
- "type": "string"
- },
- "logo_id": {
- "description": "AW display/PMax: logo asset ID",
- "type": "string"
- },
- "logo_prompt": {
- "description": "AW display/PMax: logo AI prompt (only if user declined review; else creative_picker, then its upload_ref in logo_url)",
- "type": "string"
- },
- "logo_url": {
- "description": "AW display/PMax: logo URL",
- "type": "string"
- },
- "long_headline": {
- "description": "AW display: single long headline (use long_headlines for PMax)",
- "type": "string"
- },
- "long_headlines": {
- "description": "Long headlines (list; preferred over long_headline).",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "object_story_id": {
- "description": "Existing post to boost, '{page_id}_{post_id}' (resource_type posts). FA reads return it. With a destination_type of more than one messaging app an existing post is refused; with one messaging app (WhatsApp, Messenger, Instagram Direct) Meta may refuse it. A single image or video is the safer choice.",
- "type": "string"
- },
- "page_welcome_message": {
- "description": "FA messaging",
- "type": "string"
- },
- "path1": {
- "description": "Display path 1 (max 15 chars, no \"/\"). Omit keeps, \"\" removes.",
- "maxLength": 15,
- "type": "string"
- },
- "path2": {
- "description": "Display path 2 (needs path1; max 15, no \"/\"). Omit keeps, \"\" removes.",
- "maxLength": 15,
- "type": "string"
- },
- "placement_assets": {
- "description": "FA only: a different image or video per placement, without Dynamic Creative. An entry's source may be an upload_ref. Shape, rules and position values: supermetrics_guide mode facebook_meta_capabilities.",
- "items": {
- "properties": {
- "asset_data": {
- "description": "Base64, small files only",
- "type": "string"
- },
- "asset_id": {
- "description": "Hash/ID from campaign_and_resource_get assets",
- "type": "string"
- },
- "asset_prompt": {
- "description": "AI image prompt; only if the user explicitly declined to review images — otherwise generate in creative_picker and pass its upload_ref",
- "type": "string"
- },
- "asset_type": {
- "enum": [
- "image",
- "video"
- ],
- "type": "string"
- },
- "asset_url": {
- "description": "Public URL; auto-uploaded to the ad account",
- "type": "string"
- },
- "placements": {
- "anyOf": [
- {
- "enum": [
- "default"
- ],
- "type": "string"
- },
- {
- "properties": {
- "audience_network_positions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "facebook_positions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "instagram_positions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "messenger_positions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "publisher_platforms": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "threads_positions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "\"default\" for every other placement, or the positions"
- },
- "thumbnail_data": {
- "description": "Video: thumbnail image as base64, small files only",
- "type": "string"
- },
- "thumbnail_url": {
- "description": "Video: thumbnail image URL",
- "type": "string"
- },
- "upload_ref": {
- "description": "From creative_picker",
- "type": "string"
- },
- "video_title": {
- "description": "Video: name of an uploaded video; default the creative's video_title",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "preview_creative_id": {
- "description": "SCM COMPOSITE (Story): preview creative",
- "type": "string"
- },
- "reminder_properties": {
- "description": "SCM REMINDER",
- "properties": {
- "event_detail_id": {
- "type": "string"
- }
- },
- "required": [
- "event_detail_id"
- ],
- "type": "object"
- },
- "shareable": {
- "description": "SCM, default true",
- "type": "boolean"
- },
- "square_asset_data": {
- "description": "AW display: square image base64",
- "type": "string"
- },
- "square_asset_id": {
- "description": "AW display: square asset ID",
- "type": "string"
- },
- "square_asset_prompt": {
- "description": "AW display: square image AI prompt (only if user declined review; else creative_picker, then its upload_ref in square_asset_url)",
- "type": "string"
- },
- "square_asset_url": {
- "description": "AW display: square image URL",
- "type": "string"
- },
- "thumbnail_url": {
- "description": "FA video thumbnail",
- "type": "string"
- },
- "top_snap_media_id": {
- "description": "SCM",
- "type": "string"
- },
- "type": {
- "description": "SCM ad type",
- "type": "string"
- },
- "upload_ref": {
- "description": "From creative_picker",
- "type": "string"
- },
- "url_tags": {
- "description": "URL tracking parameters appended to ad links (AW: Final URL suffix)",
- "type": "string"
- },
- "video_asset_id": {
- "description": "AW video ad: the video, as reads return it",
- "type": "string"
- },
- "video_asset_ids": {
- "description": "AW",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "video_title": {
- "description": "FA: name of an uploaded video",
- "type": "string"
- },
- "web_view_properties": {
- "description": "SCM",
- "properties": {
- "url": {
- "type": "string"
- }
- },
- "required": [
- "url"
- ],
- "type": "object"
- },
- "whatsapp_number": {
- "description": "FA WhatsApp ads: the number the button opens. Omit to keep the current one; \"\" = the page's number",
- "type": "string"
- }
- },
- "type": "object"
- },
- "id": {
- "description": "Ad ID — omit for create, include for update",
- "type": "string"
- },
- "name": {
- "description": "Ad name (required for create, optional for update)",
- "type": "string"
- },
- "platform_settings": {
- "description": "Platform-specific ad settings. Set ad status via the top-level status field, not here.",
- "properties": {
- "ad_format": {
- "description": "TIK",
- "type": "string"
- },
- "ad_type": {
- "description": "AW: same as type",
- "type": "string"
- },
- "call_to_action": {
- "description": "TIK",
- "type": "string"
- },
- "call_to_action_id": {
- "description": "TIK",
- "type": "string"
- },
- "dsa_beneficiary": {
- "description": "FA: send on the ad set's platform_settings instead",
- "type": "string"
- },
- "dsa_payor": {
- "description": "FA: send on the ad set's platform_settings instead",
- "type": "string"
- },
- "identity_authorized_bc_id": {
- "description": "TIK Business Center",
- "type": "string"
- },
- "identity_id": {
- "description": "TIK Spark Ad: account owning the post",
- "type": "string"
- },
- "identity_type": {
- "description": "TIK",
- "type": "string"
- },
- "music_id": {
- "description": "TIK",
- "type": "string"
- },
- "page_id": {
- "description": "FA Page",
- "type": "string"
- },
- "pixel_id": {
- "description": "FA: adds one pixel's tracking spec",
- "type": "string"
- },
- "profile_id": {
- "description": "SCM: public profile UUID",
- "type": "string"
- },
- "tiktok_item_id": {
- "description": "TIK Spark Ad: the post",
- "type": "string"
- },
- "tracking_pixel_id": {
- "description": "TIK: pixel tracking the ad",
- "type": "string"
- },
- "tracking_specs": {
- "description": "FA: Meta pixel tracking specs",
- "items": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": "object"
- },
- "type": "array"
- },
- "type": {
- "description": "AW ad type",
- "type": "string"
- }
- },
- "type": "object"
- },
- "status": {
- "description": "ENABLED, PAUSED, or REMOVED (platform wording normalized). Sets the ad's status; if omitted the platform's own default applies, which on some platforms is live — set PAUSED explicitly if the ad must not serve. If a creative edit replaces the ad, status carries over unless set here. Set ENABLED only on explicit user approval — it can start spend.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "budget_amount": {
- "description": "Budget in account currency",
- "type": "number"
- },
- "budget_type": {
- "description": "DAILY or LIFETIME",
- "type": "string"
- },
- "extensions": {
- "description": "Image assets for this ad group only. Other extension types are ignored, with a note naming them.",
- "properties": {
- "images": {
- "description": "Replaces the ad group's images; [] removes them; omit keeps them.",
- "items": {
- "description": "One of url, data (base64), id (existing asset) or upload_ref (from creative_picker).",
- "properties": {
- "data": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "upload_ref": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "id": {
- "description": "Ad group/ad set ID — omit to create new, include to update existing",
- "type": "string"
- },
- "name": {
- "description": "Ad group name (required for create)",
- "type": "string"
- },
- "platform_settings": {
- "description": "Platform-specific ad group / ad set settings; each key names its platforms. On update send only the keys you change.",
- "properties": {
- "ad_schedule": {
- "description": "FA dayparting",
- "items": {
- "properties": {
- "days": {
- "description": "0 = Sunday",
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "end_minute": {
- "type": "integer"
- },
- "start_minute": {
- "type": "integer"
- },
- "timezone_type": {
- "type": "string"
- }
- },
- "required": [
- "start_minute",
- "end_minute",
- "days"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "attribution_spec": {
- "description": "FA",
- "items": {
- "properties": {
- "event_type": {
- "type": "string"
- },
- "window_days": {
- "type": "integer"
- }
- },
- "required": [
- "event_type",
- "window_days"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "audience_signals": {
- "description": "AW PMax: Audience ids or resource names",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "bid_amount": {
- "description": "FA legacy: Meta minor units (250 = 2.50); prefer bid_price",
- "type": "integer"
- },
- "bid_constraints": {
- "description": "FA",
- "properties": {
- "roas_average_floor": {
- "type": "integer"
- }
- },
- "required": [
- "roas_average_floor"
- ],
- "type": "object"
- },
- "bid_micro": {
- "description": "SCM: micro-currency",
- "type": "integer"
- },
- "bid_price": {
- "description": "FA/TIK: account currency",
- "type": "number"
- },
- "bid_strategy": {
- "description": "FA ABO/SCM ad set bid strategy",
- "type": "string"
- },
- "bid_type": {
- "description": "TIK",
- "enum": [
- "BID_TYPE_NO_BID",
- "BID_TYPE_CUSTOM",
- "BID_TYPE_MAX_CONVERSION"
- ],
- "type": "string"
- },
- "billing_event": {
- "description": "FA/TIK/LIA/SCM/CGPTA",
- "type": "string"
- },
- "budget_amount": {
- "description": "SCM: account currency",
- "type": "number"
- },
- "budget_type": {
- "description": "SCM",
- "enum": [
- "DAILY",
- "LIFETIME"
- ],
- "type": "string"
- },
- "campaign_type": {
- "description": "LIA",
- "type": "string"
- },
- "context_hints": {
- "description": "CGPTA: topic keywords",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "conversion_bid_price": {
- "description": "TIK, account currency",
- "type": "number"
- },
- "conversion_window": {
- "description": "SCM",
- "type": "string"
- },
- "cost_type": {
- "description": "LIA",
- "enum": [
- "CPM",
- "CPC"
- ],
- "type": "string"
- },
- "cpc_bid": {
- "description": "AW/AC/CGPTA",
- "type": "number"
- },
- "custom_event_type": {
- "description": "FA: with pixel_id",
- "type": "string"
- },
- "daily_budget": {
- "description": "LIA. FA: minor units; prefer budget_amount",
- "type": "number"
- },
- "daily_min_spend_target": {
- "description": "FA legacy, minor units: prefer daily_spend_min",
- "type": "number"
- },
- "daily_spend_cap": {
- "description": "FA legacy, minor units: prefer daily_spend_max",
- "type": "number"
- },
- "daily_spend_max": {
- "description": "FA ad set spend limit, account currency",
- "type": "number"
- },
- "daily_spend_min": {
- "description": "FA ad set spend limit, account currency",
- "type": "number"
- },
- "destination_type": {
- "description": "FA",
- "type": "string"
- },
- "dsa_beneficiary": {
- "description": "FA EU transparency: legal entity promoted",
- "type": "string"
- },
- "dsa_payor": {
- "description": "FA EU transparency: legal entity paying",
- "type": "string"
- },
- "end_date": {
- "description": "This ad group's own flight end",
- "type": "string"
- },
- "end_time": {
- "description": "FA/SCM/TIK: flight end date-time",
- "type": "string"
- },
- "frequency": {
- "description": "TIK: max impressions per user",
- "type": "integer"
- },
- "frequency_control_specs": {
- "description": "FA",
- "items": {
- "properties": {
- "event": {
- "type": "string"
- },
- "interval_days": {
- "type": "integer"
- },
- "max_frequency": {
- "type": "integer"
- }
- },
- "required": [
- "event",
- "interval_days",
- "max_frequency"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "frequency_schedule": {
- "description": "TIK: days",
- "type": "integer"
- },
- "identity_id": {
- "description": "TIK, with identity_type",
- "type": "string"
- },
- "identity_type": {
- "description": "TIK",
- "type": "string"
- },
- "is_dynamic_creative": {
- "description": "FA: true is permanent on a published ad set",
- "type": "boolean"
- },
- "lifetime_budget": {
- "description": "LIA/TIK. FA legacy, minor units: prefer budget_amount + budget_type",
- "type": "number"
- },
- "lifetime_min_spend_target": {
- "description": "FA legacy, minor units: prefer lifetime_spend_min",
- "type": "number"
- },
- "lifetime_spend_cap": {
- "description": "FA legacy, minor units: prefer lifetime_spend_max",
- "type": "number"
- },
- "lifetime_spend_max": {
- "description": "FA ad set spend limit, account currency",
- "type": "number"
- },
- "lifetime_spend_min": {
- "description": "FA ad set spend limit, account currency",
- "type": "number"
- },
- "location_ids": {
- "description": "TIK",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "max_bid_micros": {
- "description": "CGPTA: micro-currency",
- "type": "integer"
- },
- "objective_type": {
- "description": "LIA",
- "type": "string"
- },
- "optimization_event": {
- "description": "TIK",
- "type": "string"
- },
- "optimization_goal": {
- "description": "FA/TIK/SCM",
- "type": "string"
- },
- "optimization_sub_event": {
- "description": "FA",
- "type": "string"
- },
- "pacing": {
- "description": "TIK",
- "enum": [
- "PACING_MODE_SMOOTH",
- "PACING_MODE_FAST"
- ],
- "type": "string"
- },
- "pacing_type": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "description": "SCM/FA"
- },
- "page_id": {
- "description": "FA",
- "type": "string"
- },
- "pixel_event": {
- "description": "TIK: conversion event",
- "type": "string"
- },
- "pixel_id": {
- "description": "Pixel to optimize for",
- "type": "string"
- },
- "placement_config": {
- "description": "SCM",
- "enum": [
- "AUTOMATIC",
- "CUSTOM"
- ],
- "type": "string"
- },
- "placement_type": {
- "description": "TIK",
- "enum": [
- "PLACEMENT_TYPE_AUTOMATIC",
- "PLACEMENT_TYPE_NORMAL"
- ],
- "type": "string"
- },
- "placements": {
- "description": "TIK",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "product_filter": {
- "description": "AW retail: this asset group only",
- "properties": {
- "conditions": {
- "items": {
- "properties": {
- "dimension": {
- "type": "string"
- },
- "values": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "dimension",
- "values"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "mode": {
- "enum": [
- "include",
- "exclude"
- ],
- "type": "string"
- }
- },
- "required": [
- "mode",
- "conditions"
- ],
- "type": "object"
- },
- "promoted_object": {
- "description": "FA",
- "properties": {
- "custom_conversion_id": {
- "type": "string"
- },
- "custom_event_type": {
- "type": "string"
- },
- "page_id": {
- "type": "string"
- },
- "pixel_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "promotion_type": {
- "description": "TIK",
- "type": "string"
- },
- "regional_regulated_categories": {
- "description": "FA",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "regional_regulation_identities": {
- "description": "FA: regional regulation ids",
- "properties": {
- "singapore_universal_beneficiary": {
- "type": "string"
- },
- "singapore_universal_payer": {
- "type": "string"
- },
- "taiwan_universal_beneficiary": {
- "type": "string"
- },
- "taiwan_universal_payer": {
- "type": "string"
- },
- "universal_beneficiary": {
- "type": "string"
- },
- "universal_payer": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "roas_average_floor": {
- "description": "FA",
- "type": "number"
- },
- "schedule_end_time": {
- "description": "TIK",
- "type": "string"
- },
- "schedule_start_time": {
- "description": "TIK",
- "type": "string"
- },
- "schedule_type": {
- "description": "TIK",
- "enum": [
- "SCHEDULE_START_END",
- "SCHEDULE_FROM_NOW"
- ],
- "type": "string"
- },
- "search_themes": {
- "description": "AW PMax: optimization hints",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "start_date": {
- "description": "This ad group's own flight start",
- "type": "string"
- },
- "start_time": {
- "description": "FA/SCM/TIK: flight start date-time",
- "type": "string"
- },
- "tiktok_item_id": {
- "description": "TIK",
- "type": "string"
- },
- "type": {
- "description": "AW/AC ad group type",
- "type": "string"
- }
- },
- "type": "object"
- },
- "remove_keywords": {
- "description": "Update only: remove positive keywords.",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "match_type": {
- "enum": [
- "BROAD",
- "PHRASE",
- "EXACT"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "status": {
- "description": "ENABLED, PAUSED or REMOVED (platform wording normalized). Some platforms force PAUSED on create: re-read, update if it differs. ENABLED only on explicit user approval. Campaign, ad group (PMax: asset group) and ad each have their own status.",
- "type": "string"
- },
- "targeting": {
- "description": "Ad group targeting; on create, overrides campaign-level targeting. On update: omitted fields are kept, sent ones replaced, [] clears one. An unsupported targeting field is refused or reported in the result, not silently applied.",
- "properties": {
- "advantage_audience": {
- "description": "Advantage+ Audience (AI audience expansion) on/off",
- "type": "boolean"
- },
- "age_max": {
- "description": "Maximum age",
- "type": "integer"
- },
- "age_min": {
- "description": "Minimum age",
- "type": "integer"
- },
- "age_suggestion": {
- "description": "[min, max] preferred ages (soft, with advantage_audience); [] clears.",
- "items": {
- "type": "integer"
- },
- "maxItems": 2,
- "type": "array"
- },
- "custom_audiences": {
- "description": "Custom audiences",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "id"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "devices": {
- "description": "Devices (values per platform)",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "excluded_custom_audiences": {
- "description": "Excluded audiences",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "id"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "excluded_location_details": {
- "description": "Places to exclude, same shape as location_details.",
- "items": {
- "properties": {
- "country": {
- "type": "string"
- },
- "distance_unit": {
- "enum": [
- "mile",
- "kilometer"
- ],
- "type": "string"
- },
- "key": {
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "radius": {
- "type": "number"
- },
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "excluded_locations": {
- "description": "Country codes to exclude (other places: excluded_location_details).",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "expand_targeting": {
- "description": "Legacy alias for advantage_audience",
- "type": "boolean"
- },
- "genders": {
- "description": "MALE, FEMALE, UNDETERMINED",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "interests": {
- "description": "Interest targeting",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "id"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "keywords": {
- "description": "Positive keywords; replaces the set, so send all of them (use add_keywords to append). status changes a keyword in place; one without status keeps its own.",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "cpc_bid": {
- "description": "Max CPC, account currency",
- "type": "number"
- },
- "match_type": {
- "enum": [
- "BROAD",
- "PHRASE",
- "EXACT"
- ],
- "type": "string"
- },
- "status": {
- "enum": [
- "ENABLED",
- "PAUSED"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "languages": {
- "description": "Language codes (e.g. 'en')",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "location_details": {
- "description": "Sub-country targeting entries; key from targeting_search.",
- "items": {
- "description": "Sub-country location or proximity targeting entry.\n\nCity/region: {type, key, name, country} — use targeting_search with type=city to find key.\nProximity: {type: custom_location, latitude, longitude, radius, distance_unit: mile|kilometer}.",
- "properties": {
- "country": {
- "description": "Country code",
- "type": "string"
- },
- "distance_unit": {
- "enum": [
- "mile",
- "kilometer"
- ],
- "type": "string"
- },
- "key": {
- "description": "Geo identifier (use targeting_search to find). Set empty for custom_location proximity",
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "description": "Human-readable name",
- "type": "string"
- },
- "radius": {
- "type": "number"
- },
- "type": {
- "description": "city, region, metro, zip, geo_market, custom_location (proximity) or geo_target (exclusions)",
- "type": "string"
- }
- },
- "required": [
- "type",
- "key"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "locations": {
- "description": "Country codes or platform location ids; sub-country places go in location_details where the platform supports it (see its capability guide).",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "lookalike_audiences": {
- "description": "Lookalike audiences",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "id"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "negative_keywords": {
- "description": "Negative keywords. Do NOT put in keywords.",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "properties": {
- "match_type": {
- "enum": [
- "BROAD",
- "PHRASE",
- "EXACT"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "placements": {
- "description": "Ad placements (e.g. feed, stories, reels)",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "platforms": {
- "description": "Platforms/OS to target (values per platform)",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "items": {
+ "properties": {
+ "add_keywords": {
+ "description": "Append positive keywords (duplicates skipped, status unchanged); targeting.keywords replaces instead.",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "cpc_bid": {
+ "description": "Max CPC, account currency",
+ "type": "number"
+ },
+ "match_type": {
+ "enum": [
+ "BROAD",
+ "PHRASE",
+ "EXACT"
+ ],
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "ENABLED",
+ "PAUSED"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "ads": {
+ "description": "Ads to create (no id) or update (with id). Each new ad needs name + creative (headlines, descriptions, final_urls).",
+ "items": {
+ "description": "An ad. Omit id to create, include id to update.\n\nEditing a creative may replace the ad under a new id; its status carries over unless this call\nsets status. Send only the creative keys you change.",
+ "properties": {
+ "creative": {
+ "description": "Ad creative. Text ads: headlines + descriptions + final_urls.\n\nNever put a creative_picker token in asset_url — it belongs in upload_ref.",
+ "properties": {
+ "action_button": {
+ "description": "AW Video",
+ "type": "string"
+ },
+ "action_headline": {
+ "description": "AW Video",
+ "type": "string"
+ },
+ "ad_to_call_properties": {
+ "description": "SCM AD_TO_CALL",
+ "properties": {
+ "message": {
+ "description": "AD_TO_MESSAGE text",
+ "type": "string"
+ },
+ "phone_number_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "phone_number_id"
+ ],
+ "type": "object"
+ },
+ "ad_to_lens_properties": {
+ "description": "SCM AD_TO_LENS",
+ "properties": {
+ "lens_media_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "lens_media_id"
+ ],
+ "type": "object"
+ },
+ "ad_to_message_properties": {
+ "description": "SCM AD_TO_MESSAGE",
+ "properties": {
+ "message": {
+ "description": "AD_TO_MESSAGE text",
+ "type": "string"
+ },
+ "phone_number_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "phone_number_id"
+ ],
+ "type": "object"
+ },
+ "app_install_properties": {
+ "description": "SCM APP_INSTALL",
+ "properties": {
+ "android_app_url": {
+ "type": "string"
+ },
+ "app_name": {
+ "type": "string"
+ },
+ "icon_media_id": {
+ "type": "string"
+ },
+ "ios_app_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ar_extension_properties": {
+ "description": "SCM",
+ "properties": {
+ "lens_media_id": {
+ "type": "string"
+ },
+ "product_info_card_display_mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "lens_media_id"
+ ],
+ "type": "object"
+ },
+ "asset_data": {
+ "description": "Base64, small files only",
+ "type": "string"
+ },
+ "asset_height": {
+ "type": "number"
+ },
+ "asset_id": {
+ "type": "string"
+ },
+ "asset_prompt": {
+ "description": "AI image prompt; only if the user declined review, else a creative_picker upload_ref",
+ "type": "string"
+ },
+ "asset_type": {
+ "description": "Asset type hint: 'image' (default) or 'video'. Helps detect video ads when URL has no extension.",
+ "enum": [
+ "image",
+ "video"
+ ],
+ "type": "string"
+ },
+ "asset_url": {
+ "description": "Single asset: public URL",
+ "type": "string"
+ },
+ "asset_width": {
+ "type": "number"
+ },
+ "assets": {
+ "description": "Image/video assets, one source each (preference: asset_url, asset_id, upload_ref, asset_data, asset_prompt; asset_prompt only if the user explicitly declined to review images, otherwise generate in creative_picker and pass its upload_ref). No image yet? creative_picker browses/uploads/generates first. Single item = single image ad. FA: several items need platform_settings.is_dynamic_creative true; for a creative per placement use placement_assets.",
+ "items": {
+ "properties": {
+ "asset_data": {
+ "description": "Base64, small files only",
+ "type": "string"
+ },
+ "asset_height": {
+ "type": "integer"
+ },
+ "asset_id": {
+ "description": "Hash/ID from campaign_and_resource_get assets",
+ "type": "string"
+ },
+ "asset_prompt": {
+ "description": "AI image prompt; only if the user explicitly declined to review images — otherwise generate in creative_picker and pass its upload_ref",
+ "type": "string"
+ },
+ "asset_type": {
+ "enum": [
+ "image",
+ "video"
+ ],
+ "type": "string"
+ },
+ "asset_url": {
+ "description": "Public URL; auto-uploaded to the ad account",
+ "type": "string"
+ },
+ "asset_width": {
+ "type": "integer"
+ },
+ "type": {
+ "description": "AW: 'logo' for a logo image",
+ "type": "string"
+ },
+ "upload_ref": {
+ "description": "From creative_picker",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "brand_name": {
+ "description": "SCM brand name",
+ "type": "string"
+ },
+ "business_name": {
+ "description": "Business name (AW display/PMax).",
+ "type": "string"
+ },
+ "call_to_action": {
+ "description": "CTA button (e.g. LEARN_MORE, SHOP_NOW, SIGN_UP, CONTACT_US, DOWNLOAD)",
+ "type": "string"
+ },
+ "carousel_cards": {
+ "description": "Carousel cards; use instead of assets.",
+ "items": {
+ "properties": {
+ "asset_id": {
+ "type": "string"
+ },
+ "asset_url": {
+ "type": "string"
+ },
+ "call_to_action": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "headline": {
+ "type": "string"
+ },
+ "link": {
+ "type": "string"
+ },
+ "upload_ref": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "collection_properties": {
+ "description": "SCM COLLECTION",
+ "properties": {
+ "default_fallback_interaction_type": {
+ "type": "string"
+ },
+ "interaction_zone_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "interaction_zone_id",
+ "default_fallback_interaction_type"
+ ],
+ "type": "object"
+ },
+ "companion_banner_id": {
+ "description": "AW Video",
+ "type": "string"
+ },
+ "companion_banner_url": {
+ "description": "AW Video",
+ "type": "string"
+ },
+ "composite_properties": {
+ "description": "SCM COMPOSITE",
+ "properties": {
+ "creative_ids": {
+ "description": "SNAP_AD creative ids",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "creative_ids"
+ ],
+ "type": "object"
+ },
+ "deep_link_properties": {
+ "description": "SCM DEEP_LINK",
+ "properties": {
+ "android_app_url": {
+ "type": "string"
+ },
+ "app_name": {
+ "type": "string"
+ },
+ "deep_link_uri": {
+ "type": "string"
+ },
+ "fallback_type": {
+ "type": "string"
+ },
+ "icon_media_id": {
+ "type": "string"
+ },
+ "ios_app_id": {
+ "type": "string"
+ },
+ "web_view_fallback_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "descriptions": {
+ "description": "Description texts. An item may be {text, pinned_field: DESCRIPTION_1..2 or null} (AW only).",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "pinned_field": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "null unpins"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "file_id": {
+ "description": "CGPTA: image file id",
+ "type": "string"
+ },
+ "final_urls": {
+ "description": "Landing page URLs",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "headline": {
+ "description": "SCM: single headline (else headlines[0])",
+ "type": "string"
+ },
+ "headlines": {
+ "description": "Headline texts. An item may be {text, pinned_field: HEADLINE_1..3 or null to unpin} (AW only).",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "pinned_field": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "null unpins"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "image_ids": {
+ "description": "Video ad cover image id (one item).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lead_gen_form_id": {
+ "description": "FA lead form",
+ "type": "string"
+ },
+ "lead_generation_form_id": {
+ "description": "SCM LEAD_GENERATION",
+ "type": "string"
+ },
+ "link_descriptions": {
+ "description": "Link description (line under the headline); one per ad — more than one needs the ad set's platform_settings.is_dynamic_creative true, which cannot be undone.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "logo_data": {
+ "description": "AW display/PMax: logo base64",
+ "type": "string"
+ },
+ "logo_id": {
+ "description": "AW display/PMax: logo asset ID",
+ "type": "string"
+ },
+ "logo_prompt": {
+ "description": "AW display/PMax: logo AI prompt (only if user declined review; else creative_picker, then its upload_ref in logo_url)",
+ "type": "string"
+ },
+ "logo_url": {
+ "description": "AW display/PMax: logo URL",
+ "type": "string"
+ },
+ "long_headline": {
+ "description": "AW display: single long headline (use long_headlines for PMax)",
+ "type": "string"
+ },
+ "long_headlines": {
+ "description": "Long headlines (list; preferred over long_headline).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "object_story_id": {
+ "description": "Existing post to boost, '{page_id}_{post_id}' (resource_type posts). FA reads return it. With a destination_type of more than one messaging app an existing post is refused; with one messaging app (WhatsApp, Messenger, Instagram Direct) Meta may refuse it. A single image or video is the safer choice.",
+ "type": "string"
+ },
+ "page_welcome_message": {
+ "description": "FA messaging",
+ "type": "string"
+ },
+ "path1": {
+ "description": "Display path 1 (max 15 chars, no \"/\"). Omit keeps, \"\" removes.",
+ "maxLength": 15,
+ "type": "string"
+ },
+ "path2": {
+ "description": "Display path 2 (needs path1; max 15, no \"/\"). Omit keeps, \"\" removes.",
+ "maxLength": 15,
+ "type": "string"
+ },
+ "placement_assets": {
+ "description": "FA only: a different image or video per placement, without Dynamic Creative. An entry's source may be an upload_ref. Shape, rules and position values: supermetrics_guide mode facebook_meta_capabilities.",
+ "items": {
+ "properties": {
+ "asset_data": {
+ "description": "Base64, small files only",
+ "type": "string"
+ },
+ "asset_id": {
+ "description": "Hash/ID from campaign_and_resource_get assets",
+ "type": "string"
+ },
+ "asset_prompt": {
+ "description": "AI image prompt; only if the user explicitly declined to review images — otherwise generate in creative_picker and pass its upload_ref",
+ "type": "string"
+ },
+ "asset_type": {
+ "enum": [
+ "image",
+ "video"
+ ],
+ "type": "string"
+ },
+ "asset_url": {
+ "description": "Public URL; auto-uploaded to the ad account",
+ "type": "string"
+ },
+ "placements": {
+ "anyOf": [
+ {
+ "enum": [
+ "default"
+ ],
+ "type": "string"
+ },
+ {
+ "properties": {
+ "audience_network_positions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "facebook_positions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "instagram_positions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "messenger_positions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "publisher_platforms": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "threads_positions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "\"default\" for every other placement, or the positions"
+ },
+ "thumbnail_data": {
+ "description": "Video: thumbnail image as base64, small files only",
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "description": "Video: thumbnail image URL",
+ "type": "string"
+ },
+ "upload_ref": {
+ "description": "From creative_picker",
+ "type": "string"
+ },
+ "video_title": {
+ "description": "Video: name of an uploaded video; default the creative's video_title",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "preview_creative_id": {
+ "description": "SCM COMPOSITE (Story): preview creative",
+ "type": "string"
+ },
+ "reminder_properties": {
+ "description": "SCM REMINDER",
+ "properties": {
+ "event_detail_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "event_detail_id"
+ ],
+ "type": "object"
+ },
+ "shareable": {
+ "description": "SCM, default true",
+ "type": "boolean"
+ },
+ "square_asset_data": {
+ "description": "AW display: square image base64",
+ "type": "string"
+ },
+ "square_asset_id": {
+ "description": "AW display: square asset ID",
+ "type": "string"
+ },
+ "square_asset_prompt": {
+ "description": "AW display: square image AI prompt (only if user declined review; else creative_picker, then its upload_ref in square_asset_url)",
+ "type": "string"
+ },
+ "square_asset_url": {
+ "description": "AW display: square image URL",
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "description": "FA video thumbnail",
+ "type": "string"
+ },
+ "top_snap_media_id": {
+ "description": "SCM",
+ "type": "string"
+ },
+ "type": {
+ "description": "SCM ad type",
+ "type": "string"
+ },
+ "upload_ref": {
+ "description": "From creative_picker",
+ "type": "string"
+ },
+ "url_tags": {
+ "description": "URL tracking parameters appended to ad links (AW: Final URL suffix)",
+ "type": "string"
+ },
+ "video_asset_id": {
+ "description": "AW video ad: the video, as reads return it",
+ "type": "string"
+ },
+ "video_asset_ids": {
+ "description": "AW",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "video_title": {
+ "description": "FA: name of an uploaded video",
+ "type": "string"
+ },
+ "web_view_properties": {
+ "description": "SCM",
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "whatsapp_number": {
+ "description": "FA WhatsApp ads: the number the button opens. Omit to keep the current one; \"\" = the page's number",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "description": "Ad ID — omit for create, include for update",
+ "type": "string"
+ },
+ "name": {
+ "description": "Ad name (required for create, optional for update)",
+ "type": "string"
+ },
+ "platform_settings": {
+ "description": "Platform-specific ad settings. Set ad status via the top-level status field, not here.",
+ "properties": {
+ "ad_format": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "ad_type": {
+ "description": "AW: same as type",
+ "type": "string"
+ },
+ "call_to_action": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "call_to_action_id": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "dsa_beneficiary": {
+ "description": "FA: send on the ad set's platform_settings instead",
+ "type": "string"
+ },
+ "dsa_payor": {
+ "description": "FA: send on the ad set's platform_settings instead",
+ "type": "string"
+ },
+ "identity_authorized_bc_id": {
+ "description": "TIK Business Center",
+ "type": "string"
+ },
+ "identity_id": {
+ "description": "TIK Spark Ad: account owning the post",
+ "type": "string"
+ },
+ "identity_type": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "music_id": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "page_id": {
+ "description": "FA Page",
+ "type": "string"
+ },
+ "pixel_id": {
+ "description": "FA: adds one pixel's tracking spec",
+ "type": "string"
+ },
+ "profile_id": {
+ "description": "SCM: public profile UUID",
+ "type": "string"
+ },
+ "tiktok_item_id": {
+ "description": "TIK Spark Ad: the post",
+ "type": "string"
+ },
+ "tracking_pixel_id": {
+ "description": "TIK: pixel tracking the ad",
+ "type": "string"
+ },
+ "tracking_specs": {
+ "description": "FA: Meta pixel tracking specs",
+ "items": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "type": {
+ "description": "AW ad type",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "status": {
+ "description": "ENABLED, PAUSED, or REMOVED (platform wording normalized). Sets the ad's status; if omitted the platform's own default applies, which on some platforms is live — set PAUSED explicitly if the ad must not serve. If a creative edit replaces the ad, status carries over unless set here. Set ENABLED only on explicit user approval — it can start spend.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "budget_amount": {
+ "description": "Budget in account currency",
+ "type": "number"
+ },
+ "budget_type": {
+ "description": "DAILY or LIFETIME",
+ "type": "string"
+ },
+ "extensions": {
+ "description": "Image assets for this ad group only. Other extension types are ignored, with a note naming them.",
+ "properties": {
+ "images": {
+ "description": "Replaces the ad group's images; [] removes them; omit keeps them.",
+ "items": {
+ "description": "One of url, data (base64), id (existing asset) or upload_ref (from creative_picker).",
+ "properties": {
+ "data": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "upload_ref": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "description": "Ad group/ad set ID — omit to create new, include to update existing",
+ "type": "string"
+ },
+ "name": {
+ "description": "Ad group name (required for create)",
+ "type": "string"
+ },
+ "platform_settings": {
+ "description": "Platform-specific ad group / ad set settings; each key names its platforms. On update send only the keys you change.",
+ "properties": {
+ "ad_schedule": {
+ "description": "FA dayparting",
+ "items": {
+ "properties": {
+ "days": {
+ "description": "0 = Sunday",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "end_minute": {
+ "type": "integer"
+ },
+ "start_minute": {
+ "type": "integer"
+ },
+ "timezone_type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "start_minute",
+ "end_minute",
+ "days"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "app_id": {
+ "description": "TIK APP_PROMOTION, required, create only: app id from TikTok Ads Manager",
+ "type": "string"
+ },
+ "attribution_spec": {
+ "description": "FA",
+ "items": {
+ "properties": {
+ "event_type": {
+ "type": "string"
+ },
+ "window_days": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "event_type",
+ "window_days"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "audience_signals": {
+ "description": "AW PMax: Audience ids or resource names",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "bid_amount": {
+ "description": "FA legacy: Meta minor units (250 = 2.50); prefer bid_price",
+ "type": "integer"
+ },
+ "bid_constraints": {
+ "description": "FA",
+ "properties": {
+ "roas_average_floor": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "roas_average_floor"
+ ],
+ "type": "object"
+ },
+ "bid_micro": {
+ "description": "SCM: micro-currency",
+ "type": "integer"
+ },
+ "bid_price": {
+ "description": "FA/TIK: account currency",
+ "type": "number"
+ },
+ "bid_strategy": {
+ "description": "FA ABO/SCM ad set bid strategy",
+ "type": "string"
+ },
+ "bid_type": {
+ "description": "TIK",
+ "enum": [
+ "BID_TYPE_NO_BID",
+ "BID_TYPE_CUSTOM",
+ "BID_TYPE_MAX_CONVERSION"
+ ],
+ "type": "string"
+ },
+ "billing_event": {
+ "description": "FA/TIK/LIA/SCM/CGPTA",
+ "type": "string"
+ },
+ "budget_amount": {
+ "description": "SCM: account currency",
+ "type": "number"
+ },
+ "budget_type": {
+ "description": "SCM",
+ "enum": [
+ "DAILY",
+ "LIFETIME"
+ ],
+ "type": "string"
+ },
+ "campaign_type": {
+ "description": "LIA",
+ "type": "string"
+ },
+ "context_hints": {
+ "description": "CGPTA: topic keywords",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "conversion_bid_price": {
+ "description": "TIK, account currency",
+ "type": "number"
+ },
+ "conversion_window": {
+ "description": "SCM",
+ "type": "string"
+ },
+ "cost_type": {
+ "description": "LIA",
+ "enum": [
+ "CPM",
+ "CPC"
+ ],
+ "type": "string"
+ },
+ "cpc_bid": {
+ "description": "AW/AC/CGPTA",
+ "type": "number"
+ },
+ "custom_event_type": {
+ "description": "FA: with pixel_id",
+ "type": "string"
+ },
+ "daily_budget": {
+ "description": "LIA. FA: minor units; prefer budget_amount",
+ "type": "number"
+ },
+ "daily_min_spend_target": {
+ "description": "FA legacy, minor units: prefer daily_spend_min",
+ "type": "number"
+ },
+ "daily_spend_cap": {
+ "description": "FA legacy, minor units: prefer daily_spend_max",
+ "type": "number"
+ },
+ "daily_spend_max": {
+ "description": "FA ad set spend limit, account currency",
+ "type": "number"
+ },
+ "daily_spend_min": {
+ "description": "FA ad set spend limit, account currency",
+ "type": "number"
+ },
+ "destination_type": {
+ "description": "FA",
+ "type": "string"
+ },
+ "dsa_beneficiary": {
+ "description": "FA EU transparency: legal entity promoted",
+ "type": "string"
+ },
+ "dsa_payor": {
+ "description": "FA EU transparency: legal entity paying",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "This ad group's own flight end",
+ "type": "string"
+ },
+ "end_time": {
+ "description": "FA/SCM/TIK: flight end date-time",
+ "type": "string"
+ },
+ "frequency": {
+ "description": "TIK: max impressions per user",
+ "type": "integer"
+ },
+ "frequency_control_specs": {
+ "description": "FA",
+ "items": {
+ "properties": {
+ "event": {
+ "type": "string"
+ },
+ "interval_days": {
+ "type": "integer"
+ },
+ "max_frequency": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "event",
+ "interval_days",
+ "max_frequency"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "frequency_schedule": {
+ "description": "TIK: days",
+ "type": "integer"
+ },
+ "identity_id": {
+ "description": "TIK, with identity_type",
+ "type": "string"
+ },
+ "identity_type": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "is_dynamic_creative": {
+ "description": "FA: true is permanent on a published ad set",
+ "type": "boolean"
+ },
+ "lifetime_budget": {
+ "description": "LIA/TIK. FA legacy, minor units: prefer budget_amount + budget_type",
+ "type": "number"
+ },
+ "lifetime_min_spend_target": {
+ "description": "FA legacy, minor units: prefer lifetime_spend_min",
+ "type": "number"
+ },
+ "lifetime_spend_cap": {
+ "description": "FA legacy, minor units: prefer lifetime_spend_max",
+ "type": "number"
+ },
+ "lifetime_spend_max": {
+ "description": "FA ad set spend limit, account currency",
+ "type": "number"
+ },
+ "lifetime_spend_min": {
+ "description": "FA ad set spend limit, account currency",
+ "type": "number"
+ },
+ "location_ids": {
+ "description": "TIK",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "max_bid_micros": {
+ "description": "CGPTA: micro-currency",
+ "type": "integer"
+ },
+ "objective_type": {
+ "description": "LIA",
+ "type": "string"
+ },
+ "optimization_event": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "optimization_goal": {
+ "description": "FA/TIK/SCM",
+ "type": "string"
+ },
+ "optimization_sub_event": {
+ "description": "FA",
+ "type": "string"
+ },
+ "pacing": {
+ "description": "TIK",
+ "enum": [
+ "PACING_MODE_SMOOTH",
+ "PACING_MODE_FAST"
+ ],
+ "type": "string"
+ },
+ "pacing_type": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "SCM/FA"
+ },
+ "page_id": {
+ "description": "FA",
+ "type": "string"
+ },
+ "pixel_event": {
+ "description": "TIK: conversion event",
+ "type": "string"
+ },
+ "pixel_id": {
+ "description": "Pixel to optimize for",
+ "type": "string"
+ },
+ "placement_config": {
+ "description": "SCM",
+ "enum": [
+ "AUTOMATIC",
+ "CUSTOM"
+ ],
+ "type": "string"
+ },
+ "placement_type": {
+ "description": "TIK",
+ "enum": [
+ "PLACEMENT_TYPE_AUTOMATIC",
+ "PLACEMENT_TYPE_NORMAL"
+ ],
+ "type": "string"
+ },
+ "placements": {
+ "description": "TIK",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "product_filter": {
+ "description": "AW retail: this asset group only",
+ "properties": {
+ "conditions": {
+ "items": {
+ "properties": {
+ "dimension": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "dimension",
+ "values"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "mode": {
+ "enum": [
+ "include",
+ "exclude"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "conditions"
+ ],
+ "type": "object"
+ },
+ "promoted_object": {
+ "description": "FA",
+ "properties": {
+ "custom_conversion_id": {
+ "type": "string"
+ },
+ "custom_event_type": {
+ "type": "string"
+ },
+ "page_id": {
+ "type": "string"
+ },
+ "pixel_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "promotion_type": {
+ "description": "TIK; APP_PROMOTION: APP_ANDROID or APP_IOS",
+ "type": "string"
+ },
+ "regional_regulated_categories": {
+ "description": "FA",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "regional_regulation_identities": {
+ "description": "FA: regional regulation ids",
+ "properties": {
+ "singapore_universal_beneficiary": {
+ "type": "string"
+ },
+ "singapore_universal_payer": {
+ "type": "string"
+ },
+ "taiwan_universal_beneficiary": {
+ "type": "string"
+ },
+ "taiwan_universal_payer": {
+ "type": "string"
+ },
+ "universal_beneficiary": {
+ "type": "string"
+ },
+ "universal_payer": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "roas_average_floor": {
+ "description": "FA",
+ "type": "number"
+ },
+ "schedule_end_time": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "schedule_start_time": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "schedule_type": {
+ "description": "TIK",
+ "enum": [
+ "SCHEDULE_START_END",
+ "SCHEDULE_FROM_NOW"
+ ],
+ "type": "string"
+ },
+ "search_themes": {
+ "description": "AW PMax: optimization hints",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "start_date": {
+ "description": "This ad group's own flight start",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "FA/SCM/TIK: flight start date-time",
+ "type": "string"
+ },
+ "tiktok_item_id": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "type": {
+ "description": "AW/AC ad group type",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "remove_keywords": {
+ "description": "Update only: remove positive keywords.",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "match_type": {
+ "enum": [
+ "BROAD",
+ "PHRASE",
+ "EXACT"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "status": {
+ "description": "ENABLED, PAUSED or REMOVED (platform wording normalized). Some platforms force PAUSED on create: re-read, update if it differs. ENABLED only on explicit user approval. Campaign, ad group (PMax: asset group) and ad each have their own status.",
+ "type": "string"
+ },
+ "targeting": {
+ "description": "Ad group targeting; on create, overrides campaign-level targeting. On update: omitted fields are kept, sent ones replaced, [] clears one. An unsupported targeting field is refused or reported in the result, not silently applied.",
+ "properties": {
+ "advantage_audience": {
+ "description": "Advantage+ Audience (AI audience expansion) on/off",
+ "type": "boolean"
+ },
+ "age_max": {
+ "description": "Maximum age",
+ "type": "integer"
+ },
+ "age_min": {
+ "description": "Minimum age",
+ "type": "integer"
+ },
+ "age_suggestion": {
+ "description": "[min, max] preferred ages (soft, with advantage_audience); [] clears.",
+ "items": {
+ "type": "integer"
+ },
+ "maxItems": 2,
+ "type": "array"
+ },
+ "custom_audiences": {
+ "description": "Custom audiences",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "devices": {
+ "description": "Devices (values per platform)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excluded_custom_audiences": {
+ "description": "Excluded audiences",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "excluded_location_details": {
+ "description": "Places to exclude, same shape as location_details.",
+ "items": {
+ "properties": {
+ "country": {
+ "type": "string"
+ },
+ "distance_unit": {
+ "enum": [
+ "mile",
+ "kilometer"
+ ],
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "radius": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "excluded_locations": {
+ "description": "Country codes to exclude (other places: excluded_location_details).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expand_targeting": {
+ "description": "Legacy alias for advantage_audience",
+ "type": "boolean"
+ },
+ "genders": {
+ "description": "MALE, FEMALE, UNDETERMINED",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interests": {
+ "description": "Interest targeting",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "keywords": {
+ "description": "Positive keywords; replaces the set, so send all of them (use add_keywords to append). status changes a keyword in place; one without status keeps its own.",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "cpc_bid": {
+ "description": "Max CPC, account currency",
+ "type": "number"
+ },
+ "match_type": {
+ "enum": [
+ "BROAD",
+ "PHRASE",
+ "EXACT"
+ ],
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "ENABLED",
+ "PAUSED"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "languages": {
+ "description": "Language codes (e.g. 'en')",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "location_details": {
+ "description": "Sub-country targeting entries; key from targeting_search.",
+ "items": {
+ "description": "Sub-country location or proximity targeting entry.\n\nCity/region: {type, key, name, country} — use targeting_search with type=city to find key.\nProximity: {type: custom_location, latitude, longitude, radius, distance_unit: mile|kilometer}.",
+ "properties": {
+ "country": {
+ "description": "Country code",
+ "type": "string"
+ },
+ "distance_unit": {
+ "enum": [
+ "mile",
+ "kilometer"
+ ],
+ "type": "string"
+ },
+ "key": {
+ "description": "Geo identifier (use targeting_search to find). Set empty for custom_location proximity",
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "description": "Human-readable name",
+ "type": "string"
+ },
+ "radius": {
+ "type": "number"
+ },
+ "type": {
+ "description": "city, region, metro, zip, geo_market, custom_location (proximity) or geo_target (exclusions)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "locations": {
+ "description": "Country codes or platform location ids; sub-country places go in location_details where the platform supports it (see its capability guide).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lookalike_audiences": {
+ "description": "Lookalike audiences",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "negative_keywords": {
+ "description": "Negative keywords. Do NOT put in keywords.",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "properties": {
+ "match_type": {
+ "enum": [
+ "BROAD",
+ "PHRASE",
+ "EXACT"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "placements": {
+ "description": "Ad placements (e.g. feed, stories, reels)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "platforms": {
+ "description": "Platforms/OS to target (values per platform)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+]
changedInput schema / properties / platform_settings / anyOf
Previous value: -[
- {
- "properties": {
- "ad_schedule": {
- "description": "AW: day-of-week bid modifiers",
- "items": {
- "properties": {
- "bid_modifier": {
- "description": "Multiplier",
- "type": "number"
- },
- "day_of_week": {
- "enum": [
- "MONDAY",
- "TUESDAY",
- "WEDNESDAY",
- "THURSDAY",
- "FRIDAY",
- "SATURDAY",
- "SUNDAY"
- ],
- "type": "string"
- },
- "end_hour": {
- "type": "integer"
- },
- "start_hour": {
- "description": "Dayparting, with end_hour",
- "type": "integer"
- }
- },
- "required": [
- "day_of_week"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "ai_max_enabled": {
- "description": "AW Search: AI Max",
- "type": "boolean"
- },
- "app_id": {
- "description": "AW App",
- "type": "string"
- },
- "app_store": {
- "description": "AW App",
- "enum": [
- "GOOGLE_APP_STORE",
- "APPLE_APP_STORE"
- ],
- "type": "string"
- },
- "bid_adjustments": {
- "description": "AW: bid modifiers",
- "properties": {
- "age_ranges": {
- "items": {
- "properties": {
- "bid_modifier": {
- "type": "number"
- },
- "type": {
- "type": "string"
- }
- },
- "required": [
- "type",
- "bid_modifier"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "devices": {
- "items": {
- "properties": {
- "bid_modifier": {
- "type": "number"
- },
- "type": {
- "type": "string"
- }
- },
- "required": [
- "type",
- "bid_modifier"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "genders": {
- "items": {
- "properties": {
- "bid_modifier": {
- "type": "number"
- },
- "type": {
- "type": "string"
- }
- },
- "required": [
- "type",
- "bid_modifier"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "locations": {
- "items": {
- "properties": {
- "bid_modifier": {
- "type": "number"
- },
- "id": {
- "description": "Geo target id",
- "type": "string"
- }
- },
- "required": [
- "id",
- "bid_modifier"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "bidding_config": {
- "description": "Bid targets",
- "properties": {
- "target_cpa": {
- "type": "number"
- },
- "target_impression_share_cpc_bid_ceiling": {
- "description": "Account currency",
- "type": "number"
- },
- "target_impression_share_location": {
- "enum": [
- "ANYWHERE_ON_PAGE",
- "TOP_OF_PAGE",
- "ABSOLUTE_TOP_OF_PAGE"
- ],
- "type": "string"
- },
- "target_impression_share_percentage": {
- "type": "number"
- },
- "target_roas": {
- "type": "number"
- },
- "target_spend_cpc_bid_ceiling": {
- "description": "Max CPC, account currency",
- "type": "number"
- }
- },
- "type": "object"
- },
- "bidding_strategy_goal_type": {
- "description": "AW App",
- "type": "string"
- },
- "brand_exclusions": {
- "description": "AW PMax: brand names to exclude",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "budget_optimize_switch": {
- "description": "TIK: campaign budget (CBO)",
- "enum": [
- "ON",
- "OFF"
- ],
- "type": "string"
- },
- "business_name": {
- "description": "AW PMax",
- "type": "string"
- },
- "buying_type": {
- "description": "FA",
- "type": "string"
- },
- "campaign_budget_optimization": {
- "description": "FA: true = campaign budget (CBO)",
- "type": "boolean"
- },
- "campaign_type": {
- "description": "AW/AC",
- "type": "string"
- },
- "channel_controls": {
- "description": "AW Demand Gen: channels to serve on",
- "properties": {
- "discover": {
- "type": "boolean"
- },
- "display": {
- "type": "boolean"
- },
- "gmail": {
- "type": "boolean"
- },
- "youtube": {
- "description": "All three youtube_* channels",
- "type": "boolean"
- },
- "youtube_in_feed": {
- "type": "boolean"
- },
- "youtube_in_stream": {
- "type": "boolean"
- },
- "youtube_shorts": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "conversion_actions": {
- "description": "AW App: conversion action ids",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "conversion_goals": {
- "description": "AW PMax: conversion goal categories",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "device_bid_adjustments": {
- "description": "AC: bid multipliers",
- "properties": {
- "DESKTOP": {
- "type": "number"
- },
- "MOBILE": {
- "type": "number"
- },
- "TABLET": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "final_url_expansion": {
- "description": "AW: expand to other landing pages",
- "type": "boolean"
- },
- "geo_target_type": {
- "description": "AW: who the locations reach",
- "enum": [
- "PRESENCE",
- "PRESENCE_OR_INTEREST",
- "SEARCH_INTEREST"
- ],
- "type": "string"
- },
- "is_adset_budget_sharing_enabled": {
- "description": "FA ABO: ad sets share budget",
- "type": "boolean"
- },
- "logo_data": {
- "description": "AW PMax",
- "type": "string"
- },
- "logo_id": {
- "description": "AW PMax",
- "type": "string"
- },
- "logo_prompt": {
- "description": "AW PMax: only if the user declined review; else a creative_picker upload_ref in logo_url",
- "type": "string"
- },
- "logo_url": {
- "description": "AW PMax: brand logo URL",
- "type": "string"
- },
- "negative_keyword_lists": {
- "description": "AW: shared negative keyword lists",
- "items": {
- "properties": {
- "keywords": {
- "description": "Omit to attach an existing list by name",
- "items": {
- "properties": {
- "match_type": {
- "enum": [
- "BROAD",
- "PHRASE",
- "EXACT"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "name"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "network_settings": {
- "description": "AW: which networks serve",
- "properties": {
- "display": {
- "type": "boolean"
- },
- "search": {
- "type": "boolean"
- },
- "search_partners": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "objective": {
- "description": "FA",
- "type": "string"
- },
- "objective_type": {
- "description": "TIK",
- "type": "string"
- },
- "objective_v2_type": {
- "description": "SCM",
- "type": "string"
- },
- "product_filter": {
- "description": "AW retail: products to serve",
- "properties": {
- "conditions": {
- "items": {
- "properties": {
- "dimension": {
- "type": "string"
- },
- "values": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "dimension",
- "values"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "mode": {
- "enum": [
- "include",
- "exclude"
- ],
- "type": "string"
- }
- },
- "required": [
- "mode",
- "conditions"
- ],
- "type": "object"
- },
- "profile_id": {
- "description": "SCM: public profile UUID",
- "type": "string"
- },
- "shopping_setting": {
- "description": "AW retail",
- "properties": {
- "campaign_priority": {
- "type": "integer"
- },
- "enable_local": {
- "type": "boolean"
- },
- "feed_label": {
- "type": "string"
- },
- "merchant_id": {
- "description": "Merchant Center id",
- "type": "string"
- }
- },
- "type": "object"
- },
- "special_ad_categories": {
- "description": "FA",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "special_ad_category_country": {
- "description": "FA: ISO alpha-2 country codes",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "store_id": {
- "description": "AC Shopping",
- "type": "string"
- },
- "target_cpa": {
- "description": "AW",
- "type": "number"
- },
- "target_impression_share_cpc_bid_ceiling": {
- "description": "AW",
- "type": "number"
- },
- "target_impression_share_location": {
- "description": "AW",
- "enum": [
- "ANYWHERE_ON_PAGE",
- "TOP_OF_PAGE",
- "ABSOLUTE_TOP_OF_PAGE"
- ],
- "type": "string"
- },
- "target_impression_share_percentage": {
- "description": "AW",
- "type": "number"
- },
- "target_roas": {
- "description": "AW",
- "type": "number"
- },
- "target_spend_cpc_bid_ceiling": {
- "description": "AW",
- "type": "number"
- },
- "time_zone": {
- "description": "AC",
- "type": "string"
- },
- "youtube_only": {
- "description": "AW Demand Gen",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "ad_schedule": {
+ "description": "AW: day-of-week bid modifiers",
+ "items": {
+ "properties": {
+ "bid_modifier": {
+ "description": "Multiplier",
+ "type": "number"
+ },
+ "day_of_week": {
+ "enum": [
+ "MONDAY",
+ "TUESDAY",
+ "WEDNESDAY",
+ "THURSDAY",
+ "FRIDAY",
+ "SATURDAY",
+ "SUNDAY"
+ ],
+ "type": "string"
+ },
+ "end_hour": {
+ "type": "integer"
+ },
+ "start_hour": {
+ "description": "Dayparting, with end_hour",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day_of_week"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "ai_max_enabled": {
+ "description": "AW Search: AI Max",
+ "type": "boolean"
+ },
+ "app_id": {
+ "description": "AW App; TIK APP_PROMOTION: app id, create only",
+ "type": "string"
+ },
+ "app_promotion_type": {
+ "description": "TIK APP_PROMOTION, create only: APP_INSTALL, APP_RETARGETING, APP_PREREGISTRATION, PAID_CONTENT",
+ "type": "string"
+ },
+ "app_store": {
+ "description": "AW App",
+ "enum": [
+ "GOOGLE_APP_STORE",
+ "APPLE_APP_STORE"
+ ],
+ "type": "string"
+ },
+ "bid_adjustments": {
+ "description": "AW: bid modifiers",
+ "properties": {
+ "age_ranges": {
+ "items": {
+ "properties": {
+ "bid_modifier": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "bid_modifier"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "devices": {
+ "items": {
+ "properties": {
+ "bid_modifier": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "bid_modifier"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "genders": {
+ "items": {
+ "properties": {
+ "bid_modifier": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "bid_modifier"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "locations": {
+ "items": {
+ "properties": {
+ "bid_modifier": {
+ "type": "number"
+ },
+ "id": {
+ "description": "Geo target id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "bid_modifier"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "bidding_config": {
+ "description": "Bid targets",
+ "properties": {
+ "target_cpa": {
+ "type": "number"
+ },
+ "target_impression_share_cpc_bid_ceiling": {
+ "description": "Account currency",
+ "type": "number"
+ },
+ "target_impression_share_location": {
+ "enum": [
+ "ANYWHERE_ON_PAGE",
+ "TOP_OF_PAGE",
+ "ABSOLUTE_TOP_OF_PAGE"
+ ],
+ "type": "string"
+ },
+ "target_impression_share_percentage": {
+ "type": "number"
+ },
+ "target_roas": {
+ "type": "number"
+ },
+ "target_spend_cpc_bid_ceiling": {
+ "description": "Max CPC, account currency",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "bidding_strategy_goal_type": {
+ "description": "AW App",
+ "type": "string"
+ },
+ "brand_exclusions": {
+ "description": "AW PMax: brand names to exclude",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "budget_optimize_switch": {
+ "description": "TIK: campaign budget (CBO)",
+ "enum": [
+ "ON",
+ "OFF"
+ ],
+ "type": "string"
+ },
+ "business_name": {
+ "description": "AW PMax",
+ "type": "string"
+ },
+ "buying_type": {
+ "description": "FA",
+ "type": "string"
+ },
+ "campaign_budget_optimization": {
+ "description": "FA: true = campaign budget (CBO)",
+ "type": "boolean"
+ },
+ "campaign_type": {
+ "description": "AW/AC; TIK APP_PROMOTION (create only): REGULAR_CAMPAIGN, required when app_promotion_type=APP_PREREGISTRATION",
+ "type": "string"
+ },
+ "channel_controls": {
+ "description": "AW Demand Gen: channels to serve on",
+ "properties": {
+ "discover": {
+ "type": "boolean"
+ },
+ "display": {
+ "type": "boolean"
+ },
+ "gmail": {
+ "type": "boolean"
+ },
+ "youtube": {
+ "description": "All three youtube_* channels",
+ "type": "boolean"
+ },
+ "youtube_in_feed": {
+ "type": "boolean"
+ },
+ "youtube_in_stream": {
+ "type": "boolean"
+ },
+ "youtube_shorts": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "conversion_actions": {
+ "description": "AW App: conversion action ids",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "conversion_goals": {
+ "description": "AW PMax: conversion goal categories",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "device_bid_adjustments": {
+ "description": "AC: bid multipliers",
+ "properties": {
+ "DESKTOP": {
+ "type": "number"
+ },
+ "MOBILE": {
+ "type": "number"
+ },
+ "TABLET": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "final_url_expansion": {
+ "description": "AW: expand to other landing pages",
+ "type": "boolean"
+ },
+ "geo_target_type": {
+ "description": "AW: who the locations reach",
+ "enum": [
+ "PRESENCE",
+ "PRESENCE_OR_INTEREST",
+ "SEARCH_INTEREST"
+ ],
+ "type": "string"
+ },
+ "is_adset_budget_sharing_enabled": {
+ "description": "FA ABO: ad sets share budget",
+ "type": "boolean"
+ },
+ "logo_data": {
+ "description": "AW PMax",
+ "type": "string"
+ },
+ "logo_id": {
+ "description": "AW PMax",
+ "type": "string"
+ },
+ "logo_prompt": {
+ "description": "AW PMax: only if the user declined review; else a creative_picker upload_ref in logo_url",
+ "type": "string"
+ },
+ "logo_url": {
+ "description": "AW PMax: brand logo URL",
+ "type": "string"
+ },
+ "negative_keyword_lists": {
+ "description": "AW: shared negative keyword lists",
+ "items": {
+ "properties": {
+ "keywords": {
+ "description": "Omit to attach an existing list by name",
+ "items": {
+ "properties": {
+ "match_type": {
+ "enum": [
+ "BROAD",
+ "PHRASE",
+ "EXACT"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "network_settings": {
+ "description": "AW: which networks serve",
+ "properties": {
+ "display": {
+ "type": "boolean"
+ },
+ "search": {
+ "type": "boolean"
+ },
+ "search_partners": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "objective": {
+ "description": "FA",
+ "type": "string"
+ },
+ "objective_type": {
+ "description": "TIK",
+ "type": "string"
+ },
+ "objective_v2_type": {
+ "description": "SCM",
+ "type": "string"
+ },
+ "product_filter": {
+ "description": "AW retail: products to serve",
+ "properties": {
+ "conditions": {
+ "items": {
+ "properties": {
+ "dimension": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "dimension",
+ "values"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "mode": {
+ "enum": [
+ "include",
+ "exclude"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "conditions"
+ ],
+ "type": "object"
+ },
+ "profile_id": {
+ "description": "SCM: public profile UUID",
+ "type": "string"
+ },
+ "shopping_setting": {
+ "description": "AW retail",
+ "properties": {
+ "campaign_priority": {
+ "type": "integer"
+ },
+ "enable_local": {
+ "type": "boolean"
+ },
+ "feed_label": {
+ "type": "string"
+ },
+ "merchant_id": {
+ "description": "Merchant Center id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "special_ad_categories": {
+ "description": "FA",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "special_ad_category_country": {
+ "description": "FA: ISO alpha-2 country codes",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "store_id": {
+ "description": "AC Shopping",
+ "type": "string"
+ },
+ "target_cpa": {
+ "description": "AW",
+ "type": "number"
+ },
+ "target_impression_share_cpc_bid_ceiling": {
+ "description": "AW",
+ "type": "number"
+ },
+ "target_impression_share_location": {
+ "description": "AW",
+ "enum": [
+ "ANYWHERE_ON_PAGE",
+ "TOP_OF_PAGE",
+ "ABSOLUTE_TOP_OF_PAGE"
+ ],
+ "type": "string"
+ },
+ "target_impression_share_percentage": {
+ "description": "AW",
+ "type": "number"
+ },
+ "target_roas": {
+ "description": "AW",
+ "type": "number"
+ },
+ "target_spend_cpc_bid_ceiling": {
+ "description": "AW",
+ "type": "number"
+ },
+ "time_zone": {
+ "description": "AC",
+ "type": "string"
+ },
+ "youtube_only": {
+ "description": "AW Demand Gen",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]