Submit insight report (generate)

Queue an async ReviewData insight report for one store + publisher and counts 1 unit against the store's insight_report plan quota at submit time. Returns immediately with a task_id and status: queued. The completed report arrives later via the INSIGHT_REPORT_RESULT webhook (poll Check status (poll until complete) for the result). If a non-failed report already exists for the same (store, review site, period, theme), it comes back as-is without an RD call. Set force to bypass dedup and bill a fresh run.

Auth: Both — authentication; target store scoped by an ownership check on store_id, which walks the auth user's company tree. A Partner reaches every store in its partner sub-tree; an Account reaches only stores under its own company. The service resolves the parent partner to gate quota and pick the RD API key.

Rate limit: No rate limit.

Request

  • Body (all top-level, JSON):
FieldTypeRequiredNotes
store_idintegeryesMust Must be an existing location and belong to the auth company hierarchy.
review_site_idintegernoMust be an existing review site. Must be linked to the store. Omit for an all-publisher report (publisher resolves to all); when you omit it the store must have at least one linked review site with a configured publisher.
yearintegeryesbetween:2000,2100.
monthintegernobetween:1,12. Omit for a full-year report.
themestringyesmax:64. RD KPI theme/set, e.g. home-services; general is no longer accepted by the reporting engine.
forcebooleannoExplicit recall — bypasses dedup and bills a fresh RD run. (This endpoint sends false; see Regenerate insight report (force) for true.)

Response{ data. } envelope. HTTP 202 on a fresh queue; HTTP 200 when an existing report is returned (deduped).

  • insight_report_id (integer) — our report record id.
  • store_id (integer)
  • review_site_id (integer|null)
  • publisher (string) — publisher slug, or all when no review site given.
  • year (integer)
  • month (integer|null)
  • theme (string)
  • status (string) — queued (or RD-returned status) on a fresh submit; existing status when deduped.
  • task_id (string|null) — RD task id.
  • review_count (integer|null)
  • result_summary (object|null)
  • failure_reason (string|null)
  • failure_details (object|null)
  • completed_at (string|null) — ISO-8601.
  • remaining (integer|null) — quota units remaining after this submit.
  • overage (boolean) — true if billed as overage (soft-stop plan).
  • usage_log_id (present only on fresh submit) / deduped: true (present only when an existing report is returned).

Quota-exceeded / feature-disabled returns 403 (insight_report_quota_exceeded); RD upstream issues return 502/504/429.

Errors: 422 on validation failure.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
integer
integer
integer
integer
string
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json