Skip to main content
GET
Get Brand Intelligence Own Brand Insights Route

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

brand_id
string<uuid>
required

Query Parameters

platform
string | null
Maximum string length: 200

Response

Successful Response

Paid Media > Analyze My Ads > the MY BRAND (n=1) Insights section.

The SAME single-advertiser aggregation the brand digest already runs (brand_digest_service.get_brand_digest_insights over group_insights_service.build_group_insights), pointed at the reader's OWN advertiser instead of a tracked competitor's.

The subject is resolved server-side from the caller's own Brand via review_advertiser_identity.owned_brand_advertiser_lookup_statement (the domain match), NEVER from brand_intel_tracked_group_members — ADR 0021 reserves that table for competitor cohort membership, and reading it here would pull global ad-library cohort scope into a per-brand surface.

insights is the untouched group-insights payload for a one-member set, so the section reuses the same primitives the group INSIGHTS tab does. Only the n=1-meaningful reads are rendered from it — format / platform mix, longevity, Top Hooks, launch cadence. The comparison-shaped reads (whitespace matrix, quadrant, cohort read) are structurally cohort features and have no meaning over one advertiser.

generated_at
string<date-time>
required
own_brand_state
enum<string>
default:not_resolved
Available options:
measured,
not_resolved,
no_ads,
below_minimum
advertiser_id
string<uuid> | null
brand_label
string | null
classified_ads
integer
default:0
insights
BrandIntelligenceGroupInsightsResponse · object | null