Get a paginated page of per-theme aggregates (Brand Perception & Intelligence)
Returns ONE PAGE of the project theme taxonomy (each theme with mention count, sentiment split, average sentiment and share of total) plus a full-set summary (totals, unaffected by paging/bias) for the overview. Pass perceptionOnly=true for Brand Perception (themes from perception-type questions only) or entityId for Brand Intelligence (themes attributed to one brand). bias=praise|criticism splits positive vs negative themes. Never returns the whole taxonomy — page through it. All standard analytics filters apply.
Headers
Project ID to specify the project context
Body
Start date (inclusive)
"2025-01-01"
End date (exclusive)
"2025-02-01"
Filter by country codes
Filter by language codes
Filter by AI models
Filter by query IDs
Filter by source presence: "sources" (only with sources), "no_sources" (only without), "all" (no filter). Legacy true/false values are still accepted.
all, sources, no_sources Filter by shopping presence: "shopping" (only with shopping), "no_shopping" (only without), "all" (no filter). Legacy true/false values are still accepted.
all, shopping, no_shopping Filter by query tag IDs (numeric — bigint column)
Filter by execution tag IDs
Filter by query tag group IDs — matches rows carrying any tag filed under a selected group. Combines with queryTagIds per queryTagMode.
Filter by execution tag group IDs — matches rows carrying any tag filed under a selected group. Combines with execTagIds per execTagMode.
Filter by query type. Include "untyped" to also match queries without a type. Results from since-deleted queries are excluded when this filter is set.
comparative, informative, perception, untyped Query tag matching mode: "or" matches ANY tag (default), "and" matches ALL tags.
and, or Execution tag matching mode: "or" matches ANY tag (default), "and" matches ALL tags.
and, or IANA timezone for date bucketing and filtering (e.g. "Europe/Brussels"). Defaults to UTC.
"Europe/Brussels"
Row grouping level for entity results. "none" = one row per entity, "division" = one row per division (entities not in a division get their own row), "group" = one row per top-level group (divisions roll up into their group). Defaults to "none".
none, division, group Deprecated — use groupBy instead. true is equivalent to groupBy="group".
false
Include entities that have only ever been seen in a single AI response. These are mostly one-off extraction noise and are hidden by default.
false
Restrict to themes attributed to a specific entity (brand) — used by Brand Intelligence. Omit for all themes.
"550e8400-e29b-41d4-a716-446655440000"
Only themes from perception-type questions (queries.type='perception') — used by Brand Perception (MLENG-357). Combinable with entityId to scope a perception view to one brand.
true
Page number (1-based). Default: 1.
1
Results per page. Default: 20, max: 100.
20
Restrict to predominantly-positive ('praise') or predominantly-negative ('criticism') themes. Omit for all themes ranked by frequency.
praise, criticism