Meta Ads Write
User wants to edit/change an existing catalog AD — rename, pause/activate, swap to another creative, or change the copy/headline/description/CTA/landing/product-set (Meta rebuilds the creative since c
POST https://api.adspirer.ai/api/v1/tools/update_meta_catalog_ad/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 |
|---|---|---|
ad_id | string required | The catalog ad ID to update (required). |
name | string optional | New ad name. |
status | string optional | ACTIVE, PAUSED, or ARCHIVED. |
creative_id | string optional | Swap to an existing creative ID (no rebuild). |
primary_text | string optional | New primary text (rebuilds the creative). |
headline | string optional | New headline (rebuilds the creative). |
description | string optional | New description (rebuilds the creative). |
call_to_action | string optional | New CTA button type (rebuilds the creative). |
landing_page_url | string optional | New storefront URL (rebuilds the creative). |
product_set_id | string optional | Product set for the rebuilt creative (required when rebuilding). |
product_catalog_id | string optional | Catalog ID (used to derive a storefront link when rebuilding without landing_page_url). |
url_tags | string optional | UTM-style URL parameters (rebuilds the creative). |
facebook_page_id | string optional | Facebook Page ID (auto-detected if rebuilding). |
ad_account_id | string optional | Meta ad account ID. Auto-detected if omitted. |
{
"arguments": {
"ad_id": "string",
"name": "string",
"status": "string",
"creative_id": "string",
"primary_text": "string",
"headline": "string",
"description": "string"
}
}
{
"success": true,
"data": {
"text": "(tool-specific textual output for update_meta_catalog_ad)",
"quota": {
"used": 42,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01"
}
},
"tool": "update_meta_catalog_ad"
}
{
"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"
}
{
"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",
"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