# Update a Campaign Plan Update a campaign plan by ID Endpoint: POST /campaign_plans/{campaign_plan_id} Version: xx.xx.xx Security: Auth0 ## Path parameters: - `campaign_plan_id` (integer, required) Numeric ID of the campaign plan object to update ## Request fields (application/json): - `name` (string, required) - `duration` (object, required) - `duration.start_date` (string, required) start_date can not be in the past - `duration.end_date` (string, required) end_date must be between 1 and 30 days away from start_date - `budget` (object, required) - `budget.total_budget` (number, required) - `budget.currency_code` (string, required) - `zone_name` (string, required) ## Response 200 fields (application/json): - `data` (object) - `data.version` (integer) - `data.id` (integer) - `data.advertiser_id` (integer) - `data.created_on` (string) - `data.updated_on` (string) - `data.name` (string) - `data.duration` (object) - `data.duration.start_date` (string) - `data.duration.end_date` (string) - `data.budget` (object) - `data.budget.total_budget` (number) - `data.budget.currency_code` (string) - `data.zone_name` (string) - `meta` (object) - `meta.status` (string, required) Example: "success" ## Response 400 fields (application/json): - `errors` (array, required) - `errors.code` (string) - `errors.field` (string) Optional when it is a schema error - `errors.message` (string) - `meta` (object, required) - `meta.status` (string, required) ## Response 401 fields (application/json): - `errors` (array, required) - `errors.code` (string) - `errors.field` (string) Optional when it is a schema error - `errors.message` (string) - `meta` (object, required) - `meta.status` (string, required) ## Response 403 fields (application/json): - `errors` (array, required) - `errors.code` (string) - `errors.field` (string) Optional when it is a schema error - `errors.message` (string) - `meta` (object, required) - `meta.status` (string, required)