Account-side async competitive report vs 1-2 competitors on a shared publisher (plan-gated, billed at submit).
Account-side async competitive report vs 1-2 competitors on a shared publisher (plan-gated, billed at submit). Submit → poll status; list/themes are DB/provider reads. Completed reports land via the COMPETITIVE_REPORT_RESULT webhook.
Prerequisites
- A bearer token in the
Authorizationheader. Any endpoint that needs no token says so on its own page. - The id of each record the call targets. Every endpoint page lists the ids it needs.
Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
403 | The token is valid but the record sits outside your account |
422 | The request failed validation — the response names the fields |
500 | Unexpected server error |
Individual endpoints may return more; each page lists its own.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | Submit competitive report (generate) | Queue an async ReviewData competitive report comparing one store location against 1-2 competitors on one shared publisher (review site). |
POST | Check status (poll until complete) | Polls the current status of a previously-queued competitive report, read straight from our database (the completed report lands via the COMPETITIVE_REPORT_RESULT webhook). |
POST | List stored competitive reports | List every competitive report stored for one store location, newest first (paginated), so the account can re-open a past report (use each row's competitive_report_id with Check status (poll until complete) to fetch the full payload). |
POST | List available themes | Returns the live competitive-report theme list (slug + label + KPIs) from ReviewData for the store's partner, falling back to the shipped defaults (home-services / food-dining) when RD is unreachable or the partner has no RD api key. |
