latestOpenAPI 3.1.02026-08-204087139.4 KB

c4fe20c603a3

signals

List Signals

List detected signals for a brand — statistically-tested movements (level changes and trends) in AI-visibility metrics, produced by the nightly detection sweep.

Population

By default only user-facing signals are returned: the confidence tiers high, confident, worth_a_look, and provisional. Pass an explicit tier to select a single tier, including the noise-floor tiers. An ongoing signal is re-detected daily under the same fingerprint; a multi-day date range returns only the latest detection per signal identity, so you never see day-by-day duplicates of the same issue.

Tracking one issue over time

A signal's fingerprint is its durable identity: it survives nightly re-detections and direction flips of the same underlying issue. To follow an issue after remediation, filter by fingerprint with a wide anchor_from — a later detection in the opposite direction on the same fingerprint is the recovery (or regression) of the original movement. Combine with direction to fetch each side separately.

Sorting

sort=score_desc (default) orders by engine priority, delta_desc by largest absolute change, detected_desc by newest detection date.

get/{brand_id}/signals

Path parameters

brand_idinteger required

Query parameters

scope'account' | 'account_platform' | 'topic' | 'topic_platform' nullable

Slice granularity the signal was detected on: account (whole brand), account_platform (brand on one AI platform), topic, or topic_platform.

Slice granularity the signal was detected on: account (whole brand), account_platform (brand on one AI platform), topic, or topic_platform.

platformstring nullable

AI platform the signal was detected on (e.g. OpenAI). Multi-platform signals carry the (multi) sentinel; the response slice.platforms lists the real platforms.

AI platform the signal was detected on (e.g. OpenAI). Multi-platform signals carry the (multi) sentinel; the response slice.platforms lists the real platforms.

metricstring nullable

Metric the signal fired on. Known values: presence_rate, position_top_rate, cited_domain_rate (new metrics may be added).

Metric the signal fired on. Known values: presence_rate, position_top_rate, cited_domain_rate (new metrics may be added).

alert_type'level_change' | 'trend' nullable

Detection kind: level_change (step shift) or trend (sustained drift).

Detection kind: level_change (step shift) or trend (sustained drift).

direction'up' | 'down' | 'none' nullable

Direction of the movement: up, down, or none.

Direction of the movement: up, down, or none.

tier'high' | 'confident' | 'worth_a_look' | 'provisional' | 'low_confidence' | 'underpowered' | 'untested' nullable

Confidence tier. When omitted, only the default user-facing tiers are returned (high, confident, worth_a_look, provisional); pass an explicit tier to see a single tier, including the noise-floor tiers (low_confidence, underpowered, untested).

Confidence tier. When omitted, only the default user-facing tiers are returned (high, confident, worth_a_look, provisional); pass an explicit tier to see a single tier, including the noise-floor tiers (low_confidence, underpowered, untested).

subject_kind'brand' | 'competitor' nullable

Whose movement the signal describes: your brand or a competitor.

Whose movement the signal describes: your brand or a competitor.

anchor_fromstring date nullable

Earliest detected_for_date to include (inclusive, YYYY-MM-DD).

Earliest detected_for_date to include (inclusive, YYYY-MM-DD).

anchor_tostring date nullable

Latest detected_for_date to include (inclusive, YYYY-MM-DD).

Latest detected_for_date to include (inclusive, YYYY-MM-DD).

fingerprintstring nullable

Only signals with this stable identity (fingerprint). A fingerprint survives nightly re-detections and direction flips of the same underlying issue, so filtering on one — with a wide anchor_from — tracks how that issue evolved after remediation. Combine with direction to separate the original movement from its recovery.

Only signals with this stable identity (fingerprint). A fingerprint survives nightly re-detections and direction flips of the same underlying issue, so filtering on one — with a wide anchor_from — tracks how that issue evolved after remediation. Combine with direction to separate the original movement from its recovery.

mover_urlstring nullable

Case-insensitive substring matched against the URLs in the signal's url_movers evidence (per-URL citation movers, emitted for cited_domain_rate signals). Only signals with at least one matching mover URL are returned; signals without URL movers never match.

Case-insensitive substring matched against the URLs in the signal's url_movers evidence (per-URL citation movers, emitted for cited_domain_rate signals). Only signals with at least one matching mover URL are returned; signals without URL movers never match.

sort'score_desc' | 'delta_desc' | 'detected_desc'

Sort order: score_desc (engine priority, default), delta_desc (largest absolute change first), or detected_desc (newest first).

Sort order: score_desc (engine priority, default), delta_desc (largest absolute change first), or detected_desc (newest first).

limitinteger

Maximum number of signals to return.

Maximum number of signals to return.

offsetinteger

Number of signals to skip (pagination).

Number of signals to skip (pagination).

Response

Successful Response

totalinteger required
offsetinteger
limitinteger nullable