campaign_plan_update
Edit a campaign plan. Any real change returns an approved plan to draft.
Updates a Campaign Plan’s own fields. Its Line Items are edited with line_item_update.
Input
Omit a field to leave it alone; send null to clear it. The two are deliberately different — “I only moved the end date” must not erase the rationale.
| Field | Type | Required | Description |
|---|---|---|---|
campaign_plan_name |
string |
yes | The plan slug. |
base_revision |
integer |
yes | The revision you last read via campaign_plan_get. |
name, description |
string |
no | |
slug |
string |
no | A new handle — a deliberate rename. |
brand_name |
string | null |
no | Re-point the plan; null unlinks it. |
currency |
string |
no | Refused once any Line Item carries a budget. |
total_budget |
integer | null |
no | null means “no declared constraint”, not zero. |
start_date / end_date |
YYYY-MM-DD | null |
no | |
rationale, measurement |
string | null |
no |
Requires the campaign_plan:write scope.