Skip to main content
GET
Get Answer

Authorizations

Authorization
string
header
required

An API key, sent as Authorization: Bearer hrld_....

Path Parameters

brand_id
string<uuid>
required
answer_id
string<uuid>
required

Query Parameters

as_of
string<uuid> | null

Include only scans up to this completed scan id.

Response

Successful Response

also_named
NamedAnswerBrand · object[]
required
cited_page_count
integer
default:0
required
cited_pages
CitedPage · object[]
required
cited_urls
string[]
required
engine
enum<string>
required
Available options:
perplexity,
gemini,
openai,
google_aio,
ai_mode,
copilot,
claude
engine_vocabulary
EngineVocabulary · object[]
required
excerpt
string
required
excerpt_highlights
AnswerHighlightSpan · object[]
required
highlights
AnswerHighlightSpan · object[]
required
id
string<uuid>
required
mentioned
boolean | null
required
meta
Meta · object
required

Normalized query and newest included scan.

own_cited_page_count
integer
default:0
required
prompt
string
required
prompt_id
string<uuid>
required
read_at
string<date-time>
required
rival_brands
string[]
required
rivals_named
string[]
required
run_class
string | null
required
run_number
integer | null
required
segment
string
required
segment_config_version
integer | null
required
segment_detail
AnswerReadSegment · object | null
required
states
AnswerReadStates · object
required

The four words for how one answer treated the brand (D32, D37).

The wire shape of app.scans.scoring.axes.AnswerAxes, which is where the reading itself is decided — the report, the roll-ups and this history all read one answer the same way. None is unmeasured and never a zero.

subject_brand
string | null
required
text
string
required
text_retained
boolean
default:true
required