Docs
APIAPI referenceAds

POST /v1/projects/:projectId/ads/:platform/content-refresh

Trigger a content refresh — disable underperformers + add the newest eligible creatives.

View as Markdown
POST/v1/projects/:projectId/ads/{platform}/content-refresh
Phase 1stableidempotent
Auth
Bearer
Scope
ads:write:creative

Runs the content-refresh workflow on a layer. The workflow:

  1. Evaluates running ads, scoring each via the optimizer's disableUnderperformingAdsActivity (with guardrails: min 3-day age, min $5 spend, never disables TOP_PERFORMER/HEALTHY, never empties an adset).
  2. Disables the underperformers it found (subject to creative axis bucket-mode).
  3. Picks the newest eligible creatives (newest first; the deprecated creative score is not consulted) from ads-content and pushes them. "Eligible" is the same rule that endpoint reports on eligibility: not excluded by override, past safety review and the source container's ad review, not flagged, inside a live TikTok Spark authorization window where one applies, and still backed by its media.

Body

Body
  • layerId
    string (UUID)required
    Raw UUID of the project’s Ads Manager project layer. In Layers, open Ads → Overview, select the app, and copy layerId from the URL. Do not send adAccountId.
  • maxNewCreatives
    integeroptionaldefault: 3
    Cap on how many fresh creatives to push per adset.

Response

202 { jobId, runId, kind: "content_refresh" }. Long-running (5–10 minutes typical).

See also

On this page