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

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://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):
FieldTypeRequiredDescription
store_idintegeryesMust be an existing location inside your own account tree.
review_site_idintegernoMust 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).
yearintegernobetween:2000,2100. Optional — defaults to the current year when omitted.
monthintegernobetween:1,12. Omit for full-year.
themestringnomax:64. Optional — resolved from the account's industry when omitted.
forcebooleannoSet 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

{
  "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

StatusMeaning
401The bearer token is missing, expired or invalid
403Returned on quota exceeded
422Validation failed — includes the min-recent-reviews gate (at least 10 reviews in the last 48 months)
500Unexpected server error
502Returned on RD upstream errors
504An 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}'

Did this page help you?