POST /v1/projects/:projectId/ads/:platform/disable-underperforming
Disable underperforming ads in bulk across a layer.
POST
/v1/projects/:projectId/ads/{platform}/disable-underperformingPhase 1stableidempotent
- Auth
- Bearer
- Scope
- ads:write:lifecycle
Same scoring + guardrails as the content-refresh workflow's first step, but skips the new-creative push. Use when you want a "kill the bad ones" pass without immediately replacing them.
Body
Body
layerIdstringrequireddryRunbooleanoptionaldefault: falseIf true, returns the list of ads that *would* be disabled but does not dispatch.
Authority: each disable goes through the creative axis gate.
Guardrails (cannot be overridden)
- Min ad age: 3 days.
- Min spend: $5.00.
- Never disables
TOP_PERFORMERorHEALTHYads. - Never leaves an adset/adgroup empty.