Skip to content

Boost post as ad

Creates a paid ad campaign from an existing published post. Creates the full platform campaign hierarchy (campaign, ad set, ad).

POST /v1/ads/boost

Creates a paid ad campaign from an existing published post. Creates the full platform campaign hierarchy (campaign, ad set, ad).

Request body

Content-Type: application/json

  • postId (string) — Zernio post ID (provide this or platformPostId)
  • platformPostId (string) — Platform post ID (alternative to postId)
  • accountId (string) required — Social account ID
  • adAccountId (string) required — Platform ad account ID
  • name (string) required
  • goal (string) required (enum: engagement, traffic, awareness, video_views, lead_generation, conversions, app_promotion) — Available goals vary by platform. Meta (Facebook/Instagram) and TikTok support all 7. LinkedIn supports all except app_promotion. Twitter/X supports engagement, traffic, awareness, video_views, app_pr...
  • budget (object) required
  • currency (string)
  • schedule (object)
  • targeting (object)
  • bidStrategy (any) — Meta bid strategy applied to the ad set. On TikTok, mapped to bid_type / bid_price / deep_bid_type automatically.
  • bidAmount (number) — Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Backward-compat: providing bidAmount without bidStrategy...
  • roasAverageFloor (number) — Minimum ROAS as a decimal multiplier (e.g. 2.0 = 2.0x ROAS). Required when bidStrategy is LOWEST_COST_WITH_MIN_ROAS. Sent to Meta as bid_constraints.roas_average_floor × 10000 (Meta uses fixed-p...
  • tracking (object) — Meta only. Tracking specs (pixel, URL tags).
  • specialAdCategories (array) — Meta only. Required for housing, employment, credit, or political ads.
  • linkUrl (string) — TikTok-only. Custom destination URL for the Spark Ad. Without this, TikTok Spark Ads have no clickable destination — required for traffic / conversion objectives. Maps to landing_page_url on the cre...
  • callToAction (string) — TikTok-only. Call-to-action button label on the Spark Ad creative (e.g. LEARN_MORE, SHOP_NOW, DOWNLOAD_NOW, SIGN_UP, WATCH_NOW). Maps to call_to_action on the creative entry of /v2/ad/crea...
  • sparkAuthCode (string) — TikTok-only. Spark Code (creator's auth_code) authorizing cross-creator Spark Ads — the advertiser can boost a video owned by a DIFFERENT TikTok account. Without this, boosts are limited to videos o...
  • dsaBeneficiary (string) — Name of the legal entity benefiting from the ad. Required by Meta when targeting EU users (DSA Article 26). Not enforced at schema level; enforced server-side when targeting intersects EU member state...
  • dsaPayor (string) — Name of the legal entity paying for the ad. Required by Meta when targeting EU users (DSA Article 26). Note Meta API spelling: dsa_payor (not dsa_payer).

Responses

201 — Ad created

  • ad ($ref)
  • message (string)

400 — Missing required fields or invalid values

401

403 — Ads access required. Legacy plans need the Ads add-on; included by default on usage-based plans.

422 — Platform ads connection required (TikTok Ads, X Ads), missing linked account, or — for TikTok — the connected TikTok user is not authorized as an Identity on the target advertiser. Returned with code ads_connection_required; the message includes the actionable "TikTok Ads Manager → Assets → Identity" remediation step.