Get Brand Intelligence Content Publisher Context Route
What this brand’s content research says about each requested PUBLISHER.
Feeds the Content Details workspace’s publisher panel. §4 of the Content
redesign design assumed the workspace needed no new data; it was wrong —
lead-magnet types, content sources and content-source URLs live on
CompetitorContentMetric at publisher grain and reach no content item.
Every requested domain comes back, measured or not: a publisher this brand
has never researched returns measured=false with a reason rather than
being omitted, so “we never looked” can never render as “there is nothing
there”. One query serves the whole list, so a page of items costs the same
as a single open item.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Comma-separated PUBLISHER domains (max 100) — normally each open item's publisher.domain. Deliberately NOT item ids: everything this route returns is a site-wide aggregate for the domain, never a property of one piece of content.
1 - 25600Response
Successful Response
One row per DISTINCT readable domain requested, in first-asked order.
The 1:1 request-to-response contract is deliberate: a domain the brand has
never researched still comes back, as a measured=False row, so the
client never has to diff two sets to discover that a publisher is
unmeasured rather than empty. It is the per-row twin of
CompetitorContentCoverage.missing_domains.
Note this diverges from its sibling publisher_stats_by_domain, which
OMITS a domain it has nothing for. That is correct there (the caller
renders em dashes into a table cell it already drew) and wrong here (a
missing key would render as an absent panel, i.e. as "no lead magnets").
Do not "fix" one to match the other.