update_meta_catalog_ad_set

Meta Ads Write

User wants to edit/change an existing catalog AD SET — deep control: budget, bid amount/strategy, optimization goal, full targeting (geo/age/gender/interests/behaviors/custom audiences/placements), sc

Endpoint

POST https://api.adspirer.ai/api/v1/tools/update_meta_catalog_ad_set/execute

Headers

Description

User wants to edit/change an existing catalog AD SET — deep control: budget, bid amount/strategy, optimization goal, full targeting (geo/age/gender/interests/behaviors/custom audiences/placements), schedule/dayparting, frequency caps, attribution, destination. PLUS catalog-specific: swap the product set, change the conversion event, or change the RETARGETING window/events (rebuilds the product audience). Only the fields you pass change.

Request body

All tool arguments are wrapped in an arguments object.

FieldTypeDescription
ad_set_idstring requiredThe catalog ad set ID to update (required).
namestring optionalNew ad set name.
statusstring optionalACTIVE, PAUSED, or ARCHIVED.
daily_budgetnumber optionalDaily budget in account currency.
lifetime_budgetnumber optionalLifetime budget (can't switch budget type after creation).
bid_amountnumber optionalBid amount in account currency (for bid-cap/cost-cap strategies).
bid_strategystring optionalLOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, LOWEST_COST_WITH_MIN_ROAS, COST_CAP.
daily_min_spend_targetnumber optionalCBO: min daily spend for this ad set.
daily_spend_capnumber optionalCBO: max daily spend for this ad set.
lifetime_min_spend_targetnumber optionalCBO: min lifetime spend for this ad set.
lifetime_spend_capnumber optionalCBO: max lifetime spend for this ad set.
pacing_typearray optionale.g. ['standard'].
optimization_goalstring optionalOFFSITE_CONVERSIONS (default for catalog sales), VALUE (ROAS), LINK_CLICKS, LANDING_PAGE_VIEWS, etc.
billing_eventstring optionalIMPRESSIONS (default) or LINK_CLICKS.
attribution_specarray optionalConversion attribution windows.
start_timestring optionalAd set start time (ISO 8601).
end_timestring optionalAd set end time (ISO 8601).
adset_schedulearray optionalDayparting schedule (list of day/hour windows).
frequency_control_specsarray optionalFrequency caps.
targetingobject optionalFull Meta targeting spec to REPLACE current targeting (geo_locations, age_min/max, genders, interests, behaviors, custom_audiences, excluded_custom_audiences, publisher_platforms, etc.).
destination_typestring optionalWEBSITE or FACEBOOK.
product_set_idstring optionalSwap the product set this ad set promotes.
pixel_idstring optionalChange/set the pixel in the promoted object.
pixel_event_namestring optionalChange the conversion event (custom_event_type), e.g. PURCHASE, ADD_TO_CART.
retargeting_presetstring optionalRebuild the retargeting audience: viewed_not_purchased | carted_not_purchased | all_engaged_not_purchased | cross_sell_purchasers | custom.
retention_daysinteger optionalChange the retargeting lookback window (days).
include_eventsarray optionalcustom preset: pixel events to include.
exclude_eventsarray optionalcustom preset: pixel events to exclude.
dsa_beneficiarystring optionalEU DSA beneficiary.
dsa_payorstring optionalEU DSA payor.
ad_account_idstring optionalMeta ad account ID. Auto-detected if omitted.

Example request

{
  "arguments": {
    "ad_set_id": "string",
    "name": "string",
    "status": "string",
    "daily_budget": 1.0,
    "lifetime_budget": 1.0,
    "bid_amount": 1.0,
    "bid_strategy": "string"
  }
}

Example responses

200 — Success

{
  "success": true,
  "data": {
    "text": "(tool-specific textual output for update_meta_catalog_ad_set)",
    "quota": {
      "used": 42,
      "limit": 150,
      "tier": "plus",
      "period_end": "2026-05-01"
    }
  },
  "tool": "update_meta_catalog_ad_set"
}

400 — Tool-level error (bad arguments / multi-account selection)

{
  "success": false,
  "error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n  - Acme Holdings (ad_account_id=\"act_123456789\")\n  - Acme EU (ad_account_id=\"act_987654321\")",
  "is_error": true,
  "tool": "update_meta_catalog_ad_set"
}

402 — Quota exhausted

{
  "success": false,
  "error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
  "is_error": true,
  "tool": "update_meta_catalog_ad_set",
  "quota": {
    "used": 150,
    "limit": 150,
    "tier": "plus",
    "period_end": "2026-05-01",
    "upgrade_url": "https://adspirer.ai"
  }
}

Try it live


Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai