Skip to content

AI Chats Response Details

GET
/api/v1/ai-visibility/ai-chats/response-detail
curl --request GET \
--url 'https://sitechecker.pro/api/v1/ai-visibility/ai-chats/response-detail?project_id=12345&response_id=example' \
--header 'Authorization: Bearer <token>'

Returns the full selected AI response with brand mention and citation attribution details. This is an on-demand endpoint, and the response text is returned only when explicitly requested.

project_id
required
integer
Example
12345

Project ID.

response_id
required
string

The response to return, taken from the responses list.

fields

Set to “text” to include the full answer text.

string

Pass text to include the full response body, which is omitted by default.

AI Chats response detail

Media typeapplication/json
object
data

On-demand full AI response with owner/competitor mention attribution and inline citations. response_text is returned only with fields=text.

object
response_id

Opaque id of this answer.

string
prompt

Prompt that produced the answer.

string
ai_model

AI platform that produced the answer.

string
country

Country the prompt was run for.

string
nullable
received_at

Date the answer was collected.

string format: date
competitors_mentioned

Domains of the tracked competitors mentioned in the answer.

Array<string>
your_mentions_count

Mentions of the brand in the answer.

integer
competitor_mentions_count

Mentions of tracked competitors in the answer.

integer
brand_mentions

Per-entity breakdown of those mentions.

Array<object>

A single brand-mention attribution entry for one response.

object
entity_type

Whether the mention is of the project or of a tracked competitor.

string
Allowed values: owner competitor
entity_key

Domain the entity is identified by.

string
entity_label

Display name of the entity, when one is configured.

string
nullable
count

Mentions of this entity in the answer.

integer
is_owner

True when the entity is the project.

boolean
is_competitor

True when the entity is a tracked competitor.

boolean
sources_total

Citations in the answer, whoever they point to.

integer
your_citations_count

How many of them point at the project.

integer
competitor_citations_count

How many point at a tracked competitor.

integer
citations

The citations themselves, in source order.

Array<object>

One inline citation from a response. competitor_* keys are present only when is_competitor=true; owner_domain only when is_yours=true. No title field; snippet carries the cited excerpt.

object
domain

Source domain that was cited.

string
url

Cited URL, when the answer carried one.

string
nullable
snippet

Excerpt attributed to this citation.

string
nullable
source_order

Position in the answer source list. Use it for display order only — it is not the position of the citation inside the response text.

integer
is_yours

True when the cited domain belongs to the project.

boolean
is_competitor

True when the cited domain belongs to a tracked competitor.

boolean
competitor_id

Present only when is_competitor=true.

integer
nullable
competitor_domain

Present only when is_competitor=true.

string
nullable
competitor_brand

Present only when is_competitor=true.

string
nullable
owner_domain

Present only when is_yours=true.

string
nullable
response_text

Only with fields=text. Full answer with highlight annotations stripped.

string
nullable
meta

Meta block for the AI Visibility detail endpoints, which return one stored record rather than a date-scoped aggregate: the project echo plus source availability and data freshness.

object
project_id

Project the response was built for.

integer
source_status

Whether the underlying source is connected and usable for this project.

object
key
additional properties
string
data_freshness

Latest data date available per source, null when there is none.

object
key
additional properties
string
nullable
Example
{
"data": {
"response_id": "MTIzNDU6MjAyNi0wNS0yMg",
"prompt": "best seo audit tool",
"ai_model": "chatgpt",
"country": "US",
"received_at": "2026-05-22",
"competitors_mentioned": [
"ahrefs.com",
"semrush.com"
],
"your_mentions_count": 2,
"competitor_mentions_count": 5,
"brand_mentions": [
{
"entity_type": "owner",
"entity_key": "ahrefs.com",
"entity_label": "Ahrefs",
"count": 2,
"is_owner": false,
"is_competitor": true
}
],
"sources_total": 9,
"your_citations_count": 1,
"competitor_citations_count": 4,
"citations": [
{
"domain": "ahrefs.com",
"url": "https://ahrefs.com/seo",
"snippet": "Ahrefs Site Audit crawls your website...",
"source_order": 1,
"is_yours": false,
"is_competitor": true,
"competitor_id": 456,
"competitor_domain": "ahrefs.com",
"competitor_brand": "Ahrefs",
"owner_domain": "example.com"
}
]
},
"meta": {
"project_id": 12345,
"source_status": {
"ai_chat": "connected"
},
"data_freshness": {
"ai_chat_date": "2026-06-30"
}
}
}

Missing or invalid API key

Media typeapplication/json

Returned as INVALID_API_KEY when the key is missing or unknown, and as REVOKED_API_KEY when the key exists but was revoked — the latter needs a new key.

object
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS INTERNAL_ERROR CRAWL_NOT_FOUND INVALID_DATE_RANGE INVALID_FILTER INVALID_EVENT_TYPE KEYWORD_NOT_FOUND OPPORTUNITY_NOT_FOUND SNAPSHOT_UNAVAILABLE GSC_NOT_CONNECTED GA4_NOT_CONNECTED SITE_AUDIT_DATA_UNAVAILABLE GA4_DATA_UNAVAILABLE UNSUPPORTED_FILTER UNSUPPORTED_DIMENSION UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid or missing API key."
}
}

No active API entitlement for the account, or the project belongs to another account

Media typeapplication/json

Returned as MISSING_PUBLIC_API_ACCESS when the account has no active API entitlement, and as ACCESS_DENIED when the requested project belongs to another account.

object
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS INTERNAL_ERROR CRAWL_NOT_FOUND INVALID_DATE_RANGE INVALID_FILTER INVALID_EVENT_TYPE KEYWORD_NOT_FOUND OPPORTUNITY_NOT_FOUND SNAPSHOT_UNAVAILABLE GSC_NOT_CONNECTED GA4_NOT_CONNECTED SITE_AUDIT_DATA_UNAVAILABLE GA4_DATA_UNAVAILABLE UNSUPPORTED_FILTER UNSUPPORTED_DIMENSION UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "MISSING_PUBLIC_API_ACCESS",
"message": "API access is not available: the account has no active API entitlement."
}
}

Project or AI Chats response not found

Media typeapplication/json

The exact missing resource is in error.code: PROJECT_NOT_FOUND, SEGMENT_NOT_FOUND, CRAWL_NOT_FOUND, KEYWORD_NOT_FOUND, OPPORTUNITY_NOT_FOUND, SNAPSHOT_UNAVAILABLE or NOT_FOUND.

object
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS INTERNAL_ERROR CRAWL_NOT_FOUND INVALID_DATE_RANGE INVALID_FILTER INVALID_EVENT_TYPE KEYWORD_NOT_FOUND OPPORTUNITY_NOT_FOUND SNAPSHOT_UNAVAILABLE GSC_NOT_CONNECTED GA4_NOT_CONNECTED SITE_AUDIT_DATA_UNAVAILABLE GA4_DATA_UNAVAILABLE UNSUPPORTED_FILTER UNSUPPORTED_DIMENSION UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "PROJECT_NOT_FOUND",
"message": "Project not found."
}
}

Validation error

Media typeapplication/json

Rejected query parameters. error.code is VALIDATION_ERROR for parameter validation (including a query parameter the endpoint does not accept), or INVALID_DATE_RANGE / INVALID_FILTER / INVALID_EVENT_TYPE / UNSUPPORTED_FILTER / UNSUPPORTED_DIMENSION / UNSUPPORTED_METRIC / UNSUPPORTED_SCOPE / SEGMENT_FILTER_UNSUPPORTED for module-specific rules.

object
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS INTERNAL_ERROR CRAWL_NOT_FOUND INVALID_DATE_RANGE INVALID_FILTER INVALID_EVENT_TYPE KEYWORD_NOT_FOUND OPPORTUNITY_NOT_FOUND SNAPSHOT_UNAVAILABLE GSC_NOT_CONNECTED GA4_NOT_CONNECTED SITE_AUDIT_DATA_UNAVAILABLE GA4_DATA_UNAVAILABLE UNSUPPORTED_FILTER UNSUPPORTED_DIMENSION UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "VALIDATION_ERROR",
"message": "project_id is required."
}
}

Rate limit exceeded — retry after the interval in the Retry-After header

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS INTERNAL_ERROR CRAWL_NOT_FOUND INVALID_DATE_RANGE INVALID_FILTER INVALID_EVENT_TYPE KEYWORD_NOT_FOUND OPPORTUNITY_NOT_FOUND SNAPSHOT_UNAVAILABLE GSC_NOT_CONNECTED GA4_NOT_CONNECTED SITE_AUDIT_DATA_UNAVAILABLE GA4_DATA_UNAVAILABLE UNSUPPORTED_FILTER UNSUPPORTED_DIMENSION UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again later."
}
}

Internal server error

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS INTERNAL_ERROR CRAWL_NOT_FOUND INVALID_DATE_RANGE INVALID_FILTER INVALID_EVENT_TYPE KEYWORD_NOT_FOUND OPPORTUNITY_NOT_FOUND SNAPSHOT_UNAVAILABLE GSC_NOT_CONNECTED GA4_NOT_CONNECTED SITE_AUDIT_DATA_UNAVAILABLE GA4_DATA_UNAVAILABLE UNSUPPORTED_FILTER UNSUPPORTED_DIMENSION UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error."
}
}