POST /api/marketing/campaigns
Creates the campaign in Meta and returns the object reread. Without status it is created PAUSED. special_ad_categories is always sent (empty if none is declared) because Meta requires it. daily_budget and lifetime_budget are mutually exclusive: sending both is 400. Amounts are in cents of the account currency, unconverted. The valid combination of objective, optimization and billing is validated by Meta on the server side: Neike only validates that each value belongs to its enum and returns Meta’s error, mapped. Requires the marketing:manage scope.
Field Type Description ad_account_idstring required Meta ad account, with prefix. Example: "act_123". namestring required Example: "Tráfico · septiembre". objectiveAPP_INSTALLS · BRAND_AWARENESS · CONVERSIONS · EVENT_RESPONSES · LEAD_GENERATION · LINK_CLICKS · LOCAL_AWARENESS · MESSAGES · OFFER_CLAIMS · OUTCOME_APP_PROMOTION · OUTCOME_AWARENESS · OUTCOME_ENGAGEMENT · OUTCOME_LEADS · OUTCOME_SALES · OUTCOME_TRAFFIC · PAGE_LIKES · POST_ENGAGEMENT · PRODUCT_CATALOG_SALES · REACH · STORE_VISITS · VIDEO_VIEWSrequired — special_ad_categoriesNONE · EMPLOYMENT · HOUSING · CREDIT · ISSUES_ELECTIONS_POLITICS · ONLINE_GAMBLING_AND_GAMING · FINANCIAL_PRODUCTS_SERVICES[]optional Special ad categories. Meta always requires it: if omitted, [] is sent. Default: []. statusACTIVE · PAUSED · DELETED · ARCHIVEDoptional If omitted, the campaign is created PAUSED (nobody starts spending without asking for it). Default: "PAUSED". buying_typeAUCTION · RESERVEDoptional — daily_budgetnumber optional Daily budget in cents. Mutually exclusive with lifetime_budget. Example: 100000. lifetime_budgetnumber optional Lifetime budget in cents. Mutually exclusive with daily_budget. Example: null. bid_strategyLOWEST_COST_WITHOUT_CAP · LOWEST_COST_WITH_BID_CAP · COST_CAP · LOWEST_COST_WITH_MIN_ROASoptional — spend_capnumber optional Spend cap of the campaign, in cents. start_timestring optional Example: "2026-09-01T00:00:00-0300". stop_timestring optional Example: "2026-09-30T23:59:59-0300".
curl -X POST https://api.neike.dev/api/marketing/campaigns \
-H " x-neike-api-key: whk_live_… " \
-H " Content-Type: application/json " \
"ad_account_id": "act_123",
"name": "Tráfico · septiembre",
"objective": "APP_INSTALLS"
Field Type Description idstring required Example: "120210000000000000". namestring required Example: "Tráfico · septiembre". objectiveAPP_INSTALLS · BRAND_AWARENESS · CONVERSIONS · EVENT_RESPONSES · LEAD_GENERATION · LINK_CLICKS · LOCAL_AWARENESS · MESSAGES · OFFER_CLAIMS · OUTCOME_APP_PROMOTION · OUTCOME_AWARENESS · OUTCOME_ENGAGEMENT · OUTCOME_LEADS · OUTCOME_SALES · OUTCOME_TRAFFIC · PAGE_LIKES · POST_ENGAGEMENT · PRODUCT_CATALOG_SALES · REACH · STORE_VISITS · VIDEO_VIEWSoptional — statusACTIVE · PAUSED · DELETED · ARCHIVEDoptional — effective_statusstring optional Effective status computed by Meta (includes review statuses and those inherited from the account). It is read-only and has more values than status. Example: "PAUSED". special_ad_categoriesNONE · EMPLOYMENT · HOUSING · CREDIT · ISSUES_ELECTIONS_POLITICS · ONLINE_GAMBLING_AND_GAMING · FINANCIAL_PRODUCTS_SERVICES[]optional — buying_typeAUCTION · RESERVEDoptional — daily_budgetstring optional Daily budget in cents. Example: "100000". lifetime_budgetstring optional Lifetime budget in cents. Example: "500000". spend_capstring optional Spend cap in cents. Example: "1000000". bid_strategyLOWEST_COST_WITHOUT_CAP · LOWEST_COST_WITH_BID_CAP · COST_CAP · LOWEST_COST_WITH_MIN_ROASoptional — start_timestring optional Example: "2026-09-01T00:00:00-0300". stop_timestring optional Example: "2026-09-30T23:59:59-0300". created_timestring optional — updated_timestring optional —