Review Group Insights Trend Route
curl --request POST \
--url https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"advertiser_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend"
payload = { "advertiser_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({advertiser_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'})
};
fetch('https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'advertiser_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend"
payload := strings.NewReader("{\n \"advertiser_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"advertiser_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"advertiser_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"generated_at": "2023-11-07T05:31:56Z",
"advertiser_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"brand_name": "<string>",
"coverage": {
"status": "ok",
"reason": "",
"bucket_size": "week",
"window_start": "2023-11-07T05:31:56Z",
"window_end": "2023-11-07T05:31:56Z",
"review_count": 0,
"depth_capped": false,
"leading_partial_bucket_start": "2023-11-07T05:31:56Z"
},
"buckets": [
{
"period_start": "2023-11-07T05:31:56Z",
"reviews": 1,
"positive": 1,
"neutral": 1,
"negative": 1,
"positive_pct": 50,
"neutral_pct": 50,
"negative_pct": 50,
"reviews_examined": 0,
"average_rating": 3,
"is_partial": false,
"included_in_trend": true
}
],
"rating_movement": {
"previous_period_start": "2023-11-07T05:31:56Z",
"current_period_start": "2023-11-07T05:31:56Z",
"previous_average_rating": 3,
"current_average_rating": 3,
"observed_rating_delta": 123,
"previous_reviews_examined": 0,
"current_reviews_examined": 0,
"drivers": [
{
"aspect": "<string>",
"aspect_label": "<string>",
"previous_mentions": 1,
"current_mentions": 1,
"previous_share_pct": 50,
"current_share_pct": 50,
"share_change_pp": 123,
"mean_rating": 3,
"driver_score": 123
}
],
"basis_notice": "Directional drivers may overlap because one review can mention several aspects; their scores do not add up to the observed rating change."
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Brand Reviews
Review Group Insights Trend Route
Coverage-derived sentiment and rating movement for one focused brand.
Rating bands pool safely across review platforms; aspect benchmark shares remain platform-scoped on the separate matrix contract.
POST
/
api
/
v1
/
brands
/
{brand_id}
/
brand-intelligence
/
review-group-insights
/
trend
Review Group Insights Trend Route
curl --request POST \
--url https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"advertiser_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend"
payload = { "advertiser_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({advertiser_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'})
};
fetch('https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'advertiser_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend"
payload := strings.NewReader("{\n \"advertiser_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"advertiser_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/brands/{brand_id}/brand-intelligence/review-group-insights/trend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"advertiser_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"generated_at": "2023-11-07T05:31:56Z",
"advertiser_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"brand_name": "<string>",
"coverage": {
"status": "ok",
"reason": "",
"bucket_size": "week",
"window_start": "2023-11-07T05:31:56Z",
"window_end": "2023-11-07T05:31:56Z",
"review_count": 0,
"depth_capped": false,
"leading_partial_bucket_start": "2023-11-07T05:31:56Z"
},
"buckets": [
{
"period_start": "2023-11-07T05:31:56Z",
"reviews": 1,
"positive": 1,
"neutral": 1,
"negative": 1,
"positive_pct": 50,
"neutral_pct": 50,
"negative_pct": 50,
"reviews_examined": 0,
"average_rating": 3,
"is_partial": false,
"included_in_trend": true
}
],
"rating_movement": {
"previous_period_start": "2023-11-07T05:31:56Z",
"current_period_start": "2023-11-07T05:31:56Z",
"previous_average_rating": 3,
"current_average_rating": 3,
"observed_rating_delta": 123,
"previous_reviews_examined": 0,
"current_reviews_examined": 0,
"drivers": [
{
"aspect": "<string>",
"aspect_label": "<string>",
"previous_mentions": 1,
"current_mentions": 1,
"previous_share_pct": 50,
"current_share_pct": 50,
"share_change_pp": 123,
"mean_rating": 3,
"driver_score": 123
}
],
"basis_notice": "Directional drivers may overlap because one review can mention several aspects; their scores do not add up to the observed rating change."
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
The group member selected for a coverage-aware trend.
Response
Successful Response
What the selected advertiser's stored sample can support.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Observed rating change plus ranked directional aspect drivers.
Show child attributes
Show child attributes
Was this page helpful?
⌘I