Skip to main content
PATCH
/
ad_groups
/
{id}
Update ad group
curl --request PATCH \
  --url https://api.whop.com/api/v1/ad_groups/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "budget": 6.9,
  "budget_type": "daily",
  "config": {
    "bid_strategy": "lowest_cost",
    "bid_amount": 42,
    "optimization_goal": "conversions",
    "billing_event": "impressions",
    "start_time": "<string>",
    "end_time": "<string>",
    "pacing": "standard",
    "frequency_cap": 42,
    "frequency_cap_interval_days": 42,
    "targeting": {
      "age_max": 42,
      "age_min": 42,
      "countries": [
        "<string>"
      ],
      "device_platforms": [
        "mobile"
      ],
      "exclude_audience_ids": [
        "<string>"
      ],
      "genders": [
        "male"
      ],
      "include_audience_ids": [
        "<string>"
      ],
      "interest_ids": [
        "<string>"
      ],
      "languages": [
        "<string>"
      ],
      "placement_type": "automatic"
    }
  },
  "daily_budget": 6.9,
  "name": "<string>",
  "platform_config": {
    "meta": {
      "status": "ACTIVE",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "bid_amount": 42,
      "daily_budget": 42,
      "daily_min_spend_target": "<string>",
      "daily_spend_cap": "<string>",
      "lifetime_budget": 42,
      "lifetime_min_spend_target": "<string>",
      "lifetime_spend_cap": "<string>",
      "budget_remaining": "<string>",
      "start_time": "<string>",
      "end_time": "<string>",
      "optimization_goal": "NONE",
      "billing_event": "APP_INSTALLS",
      "attribution_spec": [
        {
          "event_type": "<string>",
          "window_days": 42
        }
      ],
      "attribution_setting": "<string>",
      "destination_type": "UNDEFINED",
      "promoted_object": {
        "custom_conversion_id": "<string>",
        "custom_event_type": "<string>",
        "page_id": "<string>",
        "pixel_id": "<string>",
        "whatsapp_phone_number": "<string>"
      },
      "whatsapp_phone_number": "<string>",
      "page_id": "<string>",
      "instagram_actor_id": "<string>",
      "audience_type": "<string>",
      "publisher_platforms": [
        "<string>"
      ],
      "facebook_positions": [
        "<string>"
      ],
      "instagram_positions": [
        "<string>"
      ],
      "messenger_positions": [
        "<string>"
      ],
      "audience_network_positions": [
        "<string>"
      ],
      "threads_positions": [
        "<string>"
      ],
      "whatsapp_positions": [
        "<string>"
      ],
      "user_os": [
        "<string>"
      ],
      "user_device": [
        "<string>"
      ],
      "ios_devices": [
        "<string>"
      ],
      "android_devices": [
        "<string>"
      ],
      "geo_regions": [
        {
          "key": "<string>",
          "country": "<string>",
          "name": "<string>",
          "radius": 42
        }
      ],
      "geo_cities": [
        {
          "key": "<string>",
          "country": "<string>",
          "name": "<string>",
          "radius": 42
        }
      ],
      "geo_zips": [
        "<string>"
      ],
      "location_types": [
        "<string>"
      ],
      "excluded_geo_locations": {
        "cities": [
          {
            "key": "<string>",
            "country": "<string>",
            "name": "<string>",
            "radius": 42
          }
        ],
        "countries": [
          "<string>"
        ],
        "location_types": [
          "<string>"
        ],
        "regions": [
          {
            "key": "<string>",
            "country": "<string>",
            "name": "<string>",
            "radius": 42
          }
        ],
        "zips": [
          {
            "key": "<string>",
            "country": "<string>",
            "name": "<string>",
            "radius": 42
          }
        ]
      },
      "geo_locations": {
        "cities": [
          {
            "key": "<string>",
            "country": "<string>",
            "name": "<string>",
            "radius": 42
          }
        ],
        "countries": [
          "<string>"
        ],
        "location_types": [
          "<string>"
        ],
        "regions": [
          {
            "key": "<string>",
            "country": "<string>",
            "name": "<string>",
            "radius": 42
          }
        ],
        "zips": [
          {
            "key": "<string>",
            "country": "<string>",
            "name": "<string>",
            "radius": 42
          }
        ]
      },
      "targeting_automation": {
        "advantage_audience": 42
      },
      "brand_safety_content_filter_levels": [
        "<string>"
      ],
      "is_dynamic_creative": true,
      "dsa_beneficiary": "<string>",
      "dsa_payor": "<string>",
      "pixel_id": "<string>",
      "lead_conversion_location": "website",
      "cost_per_result_goal": 6.9,
      "frequency_control_type": "<string>",
      "frequency_control_count": 42,
      "frequency_control_days": 42,
      "lead_gen_form_id": "<string>",
      "lead_form_config": {
        "name": "<string>",
        "privacy_policy_url": "<string>",
        "questions": [
          {
            "type": "<string>",
            "conditional_questions_group_id": "<string>",
            "dependent_conditional_questions": [
              {
                "type": "<string>",
                "inline_context": "<string>",
                "key": "<string>",
                "label": "<string>",
                "options": [
                  {
                    "key": "<string>",
                    "value": "<string>",
                    "logic": {
                      "type": "<string>",
                      "target_end_page_index": 42,
                      "target_question_index": 42
                    }
                  }
                ]
              }
            ],
            "inline_context": "<string>",
            "key": "<string>",
            "label": "<string>",
            "options": [
              {
                "key": "<string>",
                "value": "<string>",
                "logic": {
                  "type": "<string>",
                  "target_end_page_index": 42,
                  "target_question_index": 42
                }
              }
            ],
            "question_format": "<string>"
          }
        ],
        "background_image_source": "<string>",
        "background_image_url": "<string>",
        "conditional_logic_enabled": true,
        "context_card_button_text": "<string>",
        "context_card_content": [
          "<string>"
        ],
        "context_card_style": "<string>",
        "context_card_title": "<string>",
        "custom_disclaimer_body": "<string>",
        "custom_disclaimer_checkboxes": [
          {
            "key": "<string>",
            "text": "<string>",
            "is_checked_by_default": true,
            "is_required": true
          }
        ],
        "custom_disclaimer_title": "<string>",
        "form_type": "<string>",
        "messenger_enabled": true,
        "phone_verification_enabled": true,
        "privacy_policy_link_text": "<string>",
        "question_page_custom_headline": "<string>",
        "rich_creative_headline": "<string>",
        "rich_creative_overview": "<string>",
        "rich_creative_url": "<string>",
        "thank_you_pages": [
          {
            "body": "<string>",
            "business_phone": "<string>",
            "button_text": "<string>",
            "button_type": "<string>",
            "conditional_question_group_id": "<string>",
            "enable_messenger": true,
            "gated_file_url": "<string>",
            "link": "<string>",
            "name": "<string>",
            "title": "<string>"
          }
        ]
      },
      "source_adset_id": "<string>",
      "created_time": "<string>",
      "updated_time": "<string>"
    },
    "tiktok": {
      "budget_mode": "BUDGET_MODE_DAY",
      "schedule_type": "SCHEDULE_START_END",
      "schedule_start_time": "<string>",
      "schedule_end_time": "<string>",
      "dayparting": "<string>",
      "optimization_goal": "CLICK",
      "billing_event": "CPC",
      "bid_type": "BID_TYPE_NO_BID",
      "bid_price": 6.9,
      "conversion_bid_price": 6.9,
      "pacing": "PACING_MODE_SMOOTH",
      "placement_type": "PLACEMENT_TYPE_AUTOMATIC",
      "placements": [
        "<string>"
      ],
      "tiktok_subplacements": [
        "<string>"
      ],
      "frequency": 42,
      "frequency_schedule": 42,
      "location_ids": [
        "<string>"
      ],
      "excluded_location_ids": [
        "<string>"
      ],
      "pixel_id": "<string>",
      "optimization_event": "<string>",
      "app_id": "app_xxxxxxxxxxxxxx",
      "promotion_type": "<string>",
      "instant_form_id": "<string>",
      "instant_form_config": {
        "privacy_policy_url": "<string>",
        "questions": [
          {
            "field_type": "<string>",
            "label": "<string>"
          }
        ],
        "button_text": "<string>",
        "greeting": "<string>",
        "name": "<string>"
      },
      "identity_id": "<string>",
      "identity_type": "<string>",
      "identity_authorized_bc_id": "<string>",
      "operation_status": "ENABLE",
      "creative_material_mode": "<string>"
    }
  },
  "status": "active"
}
'
{
  "id": "adgrp_xxxxxxxxxxxx",
  "name": "<string>",
  "status": "active",
  "daily_budget": 6.9,
  "created_at": "2023-12-01T05:00:00.401Z",
  "updated_at": "2023-12-01T05:00:00.401Z",
  "platform_config": {
    "typename": "<string>",
    "platform": "meta",
    "page_id": "<string>",
    "instagram_actor_id": "<string>",
    "status": "ACTIVE",
    "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
    "bid_amount": 42,
    "daily_budget": 42,
    "lifetime_budget": 42,
    "end_time": "<string>",
    "optimization_goal": "NONE",
    "billing_event": "APP_INSTALLS",
    "destination_type": "UNDEFINED",
    "promoted_object": {},
    "attribution_spec": [
      {}
    ],
    "publisher_platforms": [
      "<string>"
    ],
    "facebook_positions": [
      "<string>"
    ],
    "instagram_positions": [
      "<string>"
    ],
    "geo_locations": {},
    "excluded_geo_locations": {},
    "targeting_automation": {}
  },
  "config": {
    "bid_strategy": "lowest_cost",
    "bid_amount": 42,
    "optimization_goal": "conversions",
    "billing_event": "impressions",
    "start_time": "<string>",
    "end_time": "<string>",
    "pacing": "standard",
    "frequency_cap": 42,
    "frequency_cap_interval_days": 42,
    "targeting": {
      "countries": [
        "<string>"
      ],
      "age_min": 42,
      "age_max": 42,
      "genders": [
        "male"
      ],
      "languages": [
        "<string>"
      ],
      "placement_type": "automatic",
      "device_platforms": [
        "mobile"
      ],
      "interest_ids": [
        "<string>"
      ],
      "include_audience_ids": [
        "<string>"
      ],
      "exclude_audience_ids": [
        "<string>"
      ]
    }
  },
  "ad_campaign": {
    "id": "adcamp_xxxxxxxxxxx",
    "title": "<string>",
    "platform": "meta",
    "status": "active"
  }
}

Authorizations

Authorization
string
header
required

A company API key, company scoped JWT, app API key, or user OAuth token. You must prepend your key/token with the word 'Bearer', which will look like Bearer ***************************

Path Parameters

id
string
required

The unique identifier of the ad group to update.

Example:

"adgrp_xxxxxxxxxxxx"

Body

application/json

Parameters for UpdateAdGroupV2

budget
number | null

Budget amount in dollars.

Example:

6.9

budget_type
enum<string> | null

Whether the budget is daily or lifetime.

Available options:
daily,
lifetime
config
object

Unified ad group configuration (bidding, optimization, targeting).

daily_budget
number | null

Daily budget in dollars.

Example:

6.9

name
string | null

Human-readable ad group name.

platform_config
object

Platform-specific ad group configuration.

status
enum<string> | null

Status of the ad group.

Available options:
active,
paused,
inactive

Response

A successful response

An external ad group (ad set) belonging to an ad campaign

id
string
required

The unique identifier for the external ad group.

Example:

"adgrp_xxxxxxxxxxxx"

name
string | null
required

Human-readable ad group name

status
enum<string>
required

Current operational status of the ad group

Available options:
active,
paused,
inactive
daily_budget
number | null
required

Daily budget in dollars (nil for lifetime budgets)

Example:

6.9

created_at
string<date-time>
required

The datetime the external ad group was created.

Example:

"2023-12-01T05:00:00.401Z"

updated_at
string<date-time>
required

The datetime the external ad group was last updated.

Example:

"2023-12-01T05:00:00.401Z"

platform_config
MetaAdGroupPlatformConfigType · object
required

Meta (Facebook/Instagram) ad set configuration.

config
object
required

Unified ad group configuration (platform-agnostic)

ad_campaign
object
required

The parent ad campaign