Skip to main content
POST

Authorizations

Authorization
string
header
required

Team API key created in Team Settings. Use it with URLs for the same team.

Path Parameters

project
string<uuid>
required

Project UUID.

entity
enum<string>
required

The report entity. A report entity. visibility: brand visibility, mentions, position, sentiment and rank; with the answer dimension, one row per AI answer (a list, no compare window). sources: cited domains, hostnames, URLs and pages. narratives: reputation narratives, themes and sentiment (needs the Reputation capability).

Available options:
visibility,
sources,
narratives

Body

application/json

A report query. Rows are dimension groups; measures are the numbers computed per group; filters narrow the population or hide rows. Omit dimensions for one project-level row.

start_date
string<date>
required

Inclusive start of the window.

end_date
string<date>
required

Inclusive end of the window, on or after start_date.

measures
string[]
required

The numbers to compute per row. The schema endpoint lists the entity's measures.

Minimum array length: 1
compare_start_date
string<date> | null

Optional second window to compare against. Required when compare_end_date is present. Every measure then gains <measure>_compare and <measure>_change columns. Not accepted with the answer dimension on visibility.

compare_end_date
string<date> | null

Required when compare_start_date is present; on or after it.

dimensions
string[]

What each row groups by, in display order. Use at most one time bucket (date, week or month). On visibility, answer makes one row per AI answer. The schema endpoint lists the entity's dimensions.

filters
object[]
order_by
object[]

Defaults to the entity's own order (for example visibility descending on visibility, newest first with the answer dimension).

limit
integer
default:100
Required range: 1 <= x <= 1000
offset
integer
default:0
Required range: x >= 0

Extra per-row blocks the entity offers, such as brands_on_page on sources, brands_in_answer, sources_in_answer and answer_text on visibility with the answer dimension, narrative_description and evidence on narratives. Each entry in the response names its row by index.

top
object

Keep only the best values of one dimension, ranked over the whole window, on every row. {"field": "brand", "by": "visibility", "limit": 6} on ["brand", "date"] gives the six most visible brands for every day, where limit would give six rows. Lower-is-better measures rank ascending. Not with the answer dimension.

Response

The report dataset.

The result of a report query: a column schema, raw rows keyed by column id, paging, optional related blocks and, for a single-row compare query, a benchmark.

id
enum<string>
required

A report entity. visibility: brand visibility, mentions, position, sentiment and rank; with the answer dimension, one row per AI answer (a list, no compare window). sources: cited domains, hostnames, URLs and pages. narratives: reputation narratives, themes and sentiment (needs the Reputation capability).

Available options:
visibility,
sources,
narratives
title
string
required
columns
object[]
required

The row schema in display order: id columns (brand_uuid, prompt_uuid, ...), dimensions, then each measure followed by its _compare and _change columns when a compare window is set.

rows
object[]
required

One object per row, keyed by column id. Percent measures are decimals; a null compare column means the compare window had no matching row.

page
object
required

One list per requested block, keyed by block id.

benchmarks
object[]
required
description
string
empty
string

Text to show when rows is empty.

tooltip
object | null
label
string | null
badge
string | null
group
string
value
number

Headline value of the first measure when the result has exactly one row, otherwise 0.

column
object

How to format one column of rows. format: percent values are decimals (0.42 means 42%).

from
string<date>
to
string<date>
actions
object[]