Meta Ads Write
User wants to add ANOTHER ad set to an existing Advantage+ Catalog campaign — e
POST https://api.adspirer.ai/api/v1/tools/add_meta_catalog_ad_set/execute
Authorization: Bearer sk_live_... — your Adspirer API key (required)Content-Type: application/json (required)Idempotency-Key: <uuid> — recommended for write operations to make retries safeAll tool arguments are wrapped in an arguments object.
| Field | Type | Description |
|---|---|---|
campaign_id | string required | The existing Advantage+ Catalog campaign ID to add the ad set to. Get it from create_meta_catalog_campaign or list_meta_campaigns. |
product_set_id | string required | Product set this ad set promotes (required). From list_meta_product_sets. |
primary_text | string required | Primary ad text for this ad set's first ad. |
audience_type | string optional | 'prospecting' (broad) or 'retargeting' (pixel product audience). Retargeting REQUIRES pixel_id. default: "prospecting" |
destination_type | string optional | 'WEBSITE' (default) or 'FACEBOOK' (on-Facebook Shop). default: "WEBSITE" |
budget_daily | number optional | Daily budget for THIS ad set. Provide unless the campaign uses CBO. |
budget_lifetime | number optional | Lifetime budget for this ad set (requires end_time). |
ad_account_id | string optional | Meta ad account ID. Auto-detected if omitted. |
headline | string optional | Headline (defaults to {{product.name}}). |
description | string optional | Description (defaults to {{product.current_price}}). |
call_to_action | string optional | CTA button type. default: "SHOP_NOW" |
landing_page_url | string optional | Storefront URL (derived from the catalog if omitted). |
facebook_page_id | string optional | Facebook Page ID (auto-detected). |
instagram_account_id | string optional | Instagram account ID (auto-detected). |
pixel_id | string optional | Pixel ID. REQUIRED for retargeting. |
pixel_event_name | string optional | Conversion event (default PURCHASE). |
retargeting_preset | string optional | viewed_not_purchased | carted_not_purchased | all_engaged_not_purchased | cross_sell_purchasers | custom. |
retention_days | integer optional | Retargeting lookback window (days). |
include_events | array optional | custom preset: pixel events to include. |
exclude_events | array optional | custom preset: pixel events to exclude. |
locations | array optional | Country codes (default ['US']). |
age_min | integer optional | Min age. default: 18 |
age_max | integer optional | Max age. default: 65 |
genders | array optional | ['male']/['female']/omit. |
interests | array optional | Interest targeting specs. |
behaviors | array optional | Behavior targeting specs. |
custom_audiences | array optional | Custom audience IDs to include. |
excluded_custom_audiences | array optional | Custom audience IDs to exclude. |
advantage_audience | boolean optional | Advantage+ Audience expansion. |
campaign_budget_optimization | boolean optional | Set true if the parent campaign uses CBO (then omit budget_daily). default: false |
daily_min_spend_target | number optional | CBO: min daily spend for this ad set. |
daily_spend_cap | number optional | CBO: max daily spend for this ad set. |
end_time | string optional | Ad set end time (ISO 8601). |
ad_set_name | string optional | Custom ad set name. |
ad_name | string optional | Custom ad name. |
{
"arguments": {
"campaign_id": "<campaign_id>",
"product_set_id": "string",
"primary_text": "string",
"audience_type": "prospecting",
"destination_type": "WEBSITE",
"budget_daily": 1.0,
"budget_lifetime": 1.0,
"ad_account_id": "string",
"headline": "string"
}
}
{
"success": true,
"data": {
"text": "(tool-specific textual output for add_meta_catalog_ad_set)",
"quota": {
"used": 42,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01"
}
},
"tool": "add_meta_catalog_ad_set"
}
{
"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": "add_meta_catalog_ad_set"
}
{
"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": "add_meta_catalog_ad_set",
"quota": {
"used": 150,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01",
"upgrade_url": "https://adspirer.ai"
}
}
Interactive: Swagger UI
Machine-readable: OpenAPI 3.1 spec · llms-full.txt
Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai