PATCH /ads/campaigns/{id}
Update or pause a campaign: name, status (PAUSED, ACTIVE, ARCHIVED, DELETED), dailyBudget, lifetimeBudget, spendCap, stopTime. Pausing needs no confirm; ACTIVE and spend changes need confirm: true
BearerAuthAuthorizationBearer <token>API key sk_...
id*stringcampaign id
application/json- body
accountId*stringname?stringstatus?string"ACTIVE""PAUSED""ARCHIVED""DELETED"dailyBudget?integerDaily budget, in the ad account currency's minor units (cents)
100 <= valuelifetimeBudget?integerLifetime budget, in the ad account currency's minor units (cents)
100 <= valuespendCap?integerCampaign spend cap, in the ad account currency's minor units (cents)
100 <= valuebidAmount?integerAd set bid cap, in the ad account currency's minor units (cents)
100 <= valueendTime?stringAd set end
date-timestopTime?stringCampaign end
date-timetargeting?Simplified targeting, mapped to Meta's targeting spec
confirm?booleanRequired (true) for anything that can spend: creates (campaign, ad set, ad, boost), status ACTIVE, budget, bid, schedule or targeting changes. Without it: 400 confirmation_required, nothing is created
{item, mock}
application/json- response
item?mock?booleancurl -X PATCH 'https://example.com/api/v1/ads/campaigns/string' \ -H 'Content-Type: application/json' \ -d '{ "accountId": "string"}'{ "item": {}, "mock": true}