Get an AI answer
curl --request GET \
--url https://app.chatobserver.com/api/v2/responses/{id} \
--header 'x-chatobserver-key: <api-key>'const options = {method: 'GET', headers: {'x-chatobserver-key': '<api-key>'}};
fetch('https://app.chatobserver.com/api/v2/responses/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.chatobserver.com/api/v2/responses/{id}"
headers = {"x-chatobserver-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"promptId": "<string>",
"promptTitle": "<string>",
"model": "<string>",
"platform": "<string>",
"status": "<string>",
"trigger": "<string>",
"analysisStatus": "<string>",
"startedAt": "<string>",
"completedAt": "<string>",
"errorReason": "<string>",
"contentExcerpt": "<string>",
"sentiment": "<string>",
"citationCount": 123,
"occurredAt": "<string>",
"answerText": "<string>",
"citations": [
{
"url": "<string>",
"count": 123,
"title": "<string>"
}
],
"competitors": [
"<string>"
],
"commerce": {
"extractionStatus": "complete",
"shoppingProductCount": 123,
"sponsoredAdCount": 123,
"observedAt": "<string>",
"placements": [
{
"price": 123,
"rating": 123,
"id": 123,
"kind": "shopping_product",
"position": 123,
"title": "<string>",
"description": "<string>",
"targetUrl": "<string>",
"targetDomain": "<string>",
"priceDisplay": "<string>",
"currency": "<string>",
"advertiserName": "<string>",
"advertiserUrl": "<string>",
"advertiserDomain": "<string>",
"matchKind": "unmatched",
"isOwnBrand": false
}
]
}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"requestId": "<string>"
}Answers
Get an AI answer
Retrieve collected AI answers, their analysis and visibility trends.
GET
/
api
/
v2
/
responses
/
{id}
Get an AI answer
curl --request GET \
--url https://app.chatobserver.com/api/v2/responses/{id} \
--header 'x-chatobserver-key: <api-key>'const options = {method: 'GET', headers: {'x-chatobserver-key': '<api-key>'}};
fetch('https://app.chatobserver.com/api/v2/responses/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.chatobserver.com/api/v2/responses/{id}"
headers = {"x-chatobserver-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"promptId": "<string>",
"promptTitle": "<string>",
"model": "<string>",
"platform": "<string>",
"status": "<string>",
"trigger": "<string>",
"analysisStatus": "<string>",
"startedAt": "<string>",
"completedAt": "<string>",
"errorReason": "<string>",
"contentExcerpt": "<string>",
"sentiment": "<string>",
"citationCount": 123,
"occurredAt": "<string>",
"answerText": "<string>",
"citations": [
{
"url": "<string>",
"count": 123,
"title": "<string>"
}
],
"competitors": [
"<string>"
],
"commerce": {
"extractionStatus": "complete",
"shoppingProductCount": 123,
"sponsoredAdCount": 123,
"observedAt": "<string>",
"placements": [
{
"price": 123,
"rating": 123,
"id": 123,
"kind": "shopping_product",
"position": 123,
"title": "<string>",
"description": "<string>",
"targetUrl": "<string>",
"targetDomain": "<string>",
"priceDisplay": "<string>",
"currency": "<string>",
"advertiserName": "<string>",
"advertiserUrl": "<string>",
"advertiserDomain": "<string>",
"matchKind": "unmatched",
"isOwnBrand": false
}
]
}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"requestId": "<string>"
}Required scopes:
read.Authorizations
WorkspaceKeyBearerKey
A workspace API key. Data endpoints require a service-account key with the specified scopes.
Path Parameters
Resource identifier returned by the API.
Response
Successful response.
Show child attributes
Show child attributes