Regenerate insight report (force)
Overview
Force-regenerates an insight report for a store + publisher, bypassing the dedup guard. A new RD run is started and billed even when a non-failed report already exists for the same (store, review site, period, theme). Same endpoint and handler as Submit insight report (generate); the only difference is force: true. Returns 202 with status: queued and a fresh task_id; poll Check status (poll until complete) for the result.
Prerequisites
- A bearer token. Callable with Partner and Account tokens.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/account/insight-report
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Partner and Account tokens.
-
The target store is scoped by an ownership check on
store_id(auth-company-tree walk). -
A Partner reaches every store in its sub-tree; an Account reaches only its own stores.
-
The endpoint resolves parent partner server-side for quota gating and the RD API key.
Rate limit
- Subject to quota gating per partner account.
Request body
- Body (all top-level, JSON):
| Field | Type | Required | Description |
|---|---|---|---|
store_id | integer | yes | Must be an existing location inside your own account tree. |
review_site_id | integer | no | Must be an existing review site and must be linked to the store; omit for an all-publisher report (store must then have a linked site with a publisher). |
year | integer | no | between:2000,2100. Optional — defaults to the current year when omitted. |
month | integer | no | between:1,12. Omit for full-year. |
theme | string | no | max:64. Optional — resolved from the account's industry when omitted. |
force | boolean | no | Set true to skip dedup and bill a fresh RD run. This forced request includes true; with false or when omitted, the call behaves like Submit insight report (generate) and may return an existing report. |
{
"store_id": 42,
"review_site_id": 7,
"year": 2026,
"month": 5,
"theme": "home-services",
"force": true
}Response
202 Re-queued · 202
202{
"data": {
"insight_report_id": 4,
"store_id": 10,
"review_site_id": 44,
"publisher": "maps.google.com",
"year": 2026,
"month": null,
"theme": "home-services",
"status": "queued",
"task_id": "9a893013-9aa8-4b8f-b3ff-6fd72f00a6ce",
"review_count": null,
"result_summary": null,
"failure_reason": null,
"failure_details": null,
"completed_at": null,
"remaining": 3,
"overage": false
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
403 | Returned on quota exceeded |
422 | Validation failed — includes the min-recent-reviews gate (at least 10 reviews in the last 48 months) |
500 | Unexpected server error |
502 | Returned on RD upstream errors |
504 | An upstream provider timed out |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/account/insight-report" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"store_id": 42, "review_site_id": 7, "year": 2026, "month": 5, "theme": "home-services", "force": true}'Updated 11 days ago
