campaign_plan_delete
Delete a campaign plan and its line items. What they already created is kept.
Deletes a Campaign Plan and every Line Item on it.
Input
| Field | Type | Required | Description |
|---|---|---|---|
campaign_plan_name |
string |
yes | The plan slug. |
base_revision |
integer |
yes | The revision you last read. The delete is refused if the plan moved since. |
Output
{ deleted: true, lineItemsDeleted: 3 } — the slug becomes free to re-use.
Requires the campaign_plan:write scope.
Reference
Delete a Campaign Plan and its Line Items. Pass base_revision from campaign_plan_get — the delete is refused if the plan changed since you read it. The record of what its lines already created is kept: those objects are live in an ad account and deleting a planning row does not retract them. A Campaign Plan is AdCrunch’s own planning document — it is not a campaign on Meta or Google. For those, use list_entities and get_entity.
Input
| Argument | Type | Required | Description |
|---|---|---|---|
base_revision |
integer | yes | The revision you last read via campaign_plan_get. Guards against writing over a change somebody else made since. |
campaign_plan_name |
string | yes | The Campaign Plan slug — its stable per-organization handle. |
Failure codes
A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.
not_foundrevision_mismatchforbiddeninvalid_requestinternal_error
Scope
The token must hold campaign_plan:write. Auth & scopes lists each scope.
Annotations
A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.
- Writes. The tool can change data.
- Destructive. The tool can make a change that you cannot undo. A client can ask you to confirm before it calls the tool.
- Not idempotent. A second call with the same arguments can change more.
- Closed world. The tool reads and writes the data of AdCrunch only.