Appearance
Update a campaign (budget and/or bid strategy)
Campaign-level edits. At least one of budget or bidStrategy is required.
budgetupdates the CBO (Campaign Budget Optimization) budget. For ABO campaigns (where the budget lives on the ad set), use PUT /v1/ads/ad-sets/{adSetId} instead — this endpoint will return 409 with code BUDGET_LEVEL_MISMATCH.bidStrategysets the campaign-level default bid strategy. Per Meta's spec,bid_amountandbid_constraintsdo NOT exist at the campaign level — pass them via PUT /v1/ads/ad-sets/{adSetId}.
Meta-only for now. Other platforms return 501 Not Implemented.
PUT /v1/ads/campaigns/{campaignId}
Campaign-level edits. At least one of budget or bidStrategy is required.
budgetupdates the CBO (Campaign Budget Optimization) budget. For ABO campaigns (where the budget lives on the ad set), use PUT /v1/ads/ad-sets/{adSetId} instead — this endpoint will return 409 with code BUDGET_LEVEL_MISMATCH.bidStrategysets the campaign-level default bid strategy. Per Meta's spec,bid_amountandbid_constraintsdo NOT exist at the campaign level — pass them via PUT /v1/ads/ad-sets/{adSetId}.
Meta-only for now. Other platforms return 501 Not Implemented.
Parameters
campaignId(path, string) required — Platform campaign ID
Request body
Content-Type: application/json
platform(string) required (enum: facebook, instagram)budget(object)bidStrategy(any) — Campaign-level default. Ad sets inherit this unless they override.
Responses
200 — Campaign updated
updated(integer)budget($ref)budgetLevel(string) (enum: campaign)bidStrategy($ref)
400 — Invalid input
401
404 — Campaign not found
409 — Campaign is ABO — route to /v1/ads/ad-sets/{adSetId} instead
501 — Operation not supported on this platform