MMetadata /docs
Docs/Tools/archive_campaigns

archive_campaigns

Archive one or more campaigns, with a result per campaign.

Destructive campaigns

Deletes, archives, launches or moves budget. Do not give an agent this one without a human gate.

What it does

Archive one or more campaigns, with a result per campaign.

                Archiving is how a campaign is deleted: the platform has no hard
                delete. An archived campaign is hidden, releases its name (a new
                campaign may take it) and can be put back with unarchive_campaigns.
                A campaign with live experiments (active, in review or waiting
                for a channel reconnect) cannot be archived.

                KEYWORDS: archive, delete, remove, discard, trash, retire, campaign, draft

                WHEN TO USE:
                - The user asks to archive, delete or remove campaigns they named
                - The user agreed to archive the drafts a rebuild replaced

                WARNING: archive only campaigns the user named or agreed to, and
                only on an exact name match: search_campaigns_by_names also
                returns partial matches.

                Each campaign is processed on its own, so one that cannot be
                archived does not stop the others. `results` holds one entry per
                campaign with its `outcome`:
                - archived (a `message` notes a pending launch it suspended)
                - already_archived: it was archived before; nothing changed
                - not_in_account: no campaign with that id in this account
                - native_imported: imported from an ad channel account, which is
                  never archived here
                - in_progress: it is being launched or edited right now; archive
                  it once that finishes
                - live_experiments: it has live experiments; an Active campaign
                  can be paused with manage_campaign first
                - not_attempted: the call stopped early (a rejected session or
                  rate limiting) before reaching it
                - unknown: the platform's answer was lost; check the campaign
                  before trying again
                - error: the platform refused it; `message` says why

                REQUIRED PARAMETERS:
                - campaign_ids: 1 to 50 campaign ids, from search_campaigns_by_names
                  or list_wizard_campaigns

Arguments

ArgumentTypeNotes
campaign_ids array required The ids of the campaigns to archive (1 to 50)

Request

Request template, not a complete runnable example. Replace placeholders, empty objects, arrays, and zero values with valid account-specific inputs. Read required fields and nested constraints in the full schema. Confirm the account, connected channels, and referenced assets before calling a write tool.

curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
  -H "Authorization: $METADATA_PAT" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"archive_campaigns","arguments":{"campaign_ids":[]}}}'

Response

No recorded response. This tool can delete, archive, launch or move budget, so it is never executed to build these docs. The request is an illustrative template. Fill required fields and check the current schema before calling it. No response is fabricated.

Other campaigns tools:

Browse the tool catalog · machine-readable index