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
layerIdstring (UUID)requiredRaw 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.dryRunbooleanoptionaldefault: 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.