Simplify code to reuse ContentPlanner.needs_api