Content gap for a run (all topics)
Crosses the run’s topics with the source classification: per topic, whether the project’s owned entity has content on it (present = covered, absent = content gap), whether competitors do, the topic’s citation share, and its “ownable” (controllability) source mix. Ordered by citation share descending; use isContentGap to surface or filter the gaps among the top-cited topics. Presence needs the project’s relationship overlay populated (map entity domains + recompute); otherwise every topic reads as a gap. Empty while clustering is pending — poll the run until topicsStatus is ready.
Headers
Project ID to specify the project context
Path Parameters
UUID of the run whose content gap to retrieve.
Response
The run whose content gap this describes.
"019dd32e-b19e-7956-88f6-4b9a877f3697"
Clustering status of the run. Topics only exist once this is ready; poll until then.
pending, clustering, ready, failed "ready"
Sum of citationCount across all topics — the denominator for citationShare.
691
Number of sources the run analyzed for topics. The difference vs the sum of topic sizes is sources that did not group into any topic.
96
Whether the project has any source domains mapped as owned. When false, no topic can be marked covered — every row reads as a content gap regardless of the data. Prompt the user to map their brand’s domains.
true
Whether the project has any source domains mapped as competitor. When false, competitorPresent is always false.
true
Topics ordered by citationShare descending. Use isContentGap to surface/filter the gaps among the top-cited topics.