POST /ads/campaigns

Create a campaign (objective or goal, optional CBO budget, specialAdCategories). PAUSED by default; requires confirm: true

POST
/ads/campaigns

Authorization

BearerAuth
headerAuthorizationBearer <token>

API key sk_...

Request Body

application/json
  1. body
accountId*string

Connected Facebook Page account id

adAccountId*string

Ad account id (act_...)

confirm*boolean

Required (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

name*string
objective?string
Value in"OUTCOME_AWARENESS""OUTCOME_TRAFFIC""OUTCOME_ENGAGEMENT""OUTCOME_LEADS""OUTCOME_SALES""OUTCOME_APP_PROMOTION"
goal?string

Alternative to objective: engagement, traffic, awareness, ...

dailyBudget?integer

Campaign (CBO) daily budget, in the ad account currency's minor units (cents)

Range100 <= value
lifetimeBudget?integer

Campaign lifetime budget, in the ad account currency's minor units (cents)

Range100 <= value
spendCap?integer

Spend cap, in the ad account currency's minor units (cents)

Range100 <= value
bidStrategy?string
specialAdCategories?array<string>
startTime?string
Formatdate-time
stopTime?string
Formatdate-time
status?string

PAUSED (default) or ACTIVE (only together with confirm: true)

Value in"PAUSED""ACTIVE"

Response Body

{campaign, mock}

application/json
  1. response
campaign?
mock?boolean
Example Request
curl -X POST 'https://example.com/api/v1/ads/campaigns' \  -H 'Content-Type: application/json' \  -d '{  "accountId": "string",  "adAccountId": "string",  "confirm": true,  "name": "string"}'
Example Response
{  "campaign": {},  "mock": true}