Submit (or re-submits, while still pending) a flag against the review identified by the URL {id}, persisting a ReviewFlag row with status pending, writing an audit log and a per-review history event, and consuming the review_flag plan-feature quota.
Auth: Both — authentication. The review's store_id must be in the caller's resolvable reachable set of locations (partner walks its whole tree; account resolves its own location/store children). A review outside that set returns 403 This review is outside your scope.. Additional gates: the existing flag must be tradie-editable (only pending), and must return is_flaggable=true (Cat-A lock, tier rules, 90/14-day window, connect-gate).
Rate limit: No rate limit.
Request
- Body:
| Field | Type | Required | Notes |
|---|---|---|---|
review_site | string | yes | One of yelp,glassdoor,google,indeed,tripadvisor,apartmentratings,facebook,hipages. |
submit_type | string | no | Nullable; only allowed value is standalone. |
user_id | integer | no | Nullable; Must be an existing user. Stored on the flag as the flagging user. |
reason | string | conditional | Required when review_site is any of the listed sites (effectively always). Long platform description matching reason_identifier. |
reason_identifier | string | conditional | Required (same condition); max:255; must match a review_site_flag_reasons row for the review's review_site_id, else 422. |
flag_reason_detail | string | conditional | Required (same condition); max:500. Legacy description field is mirrored into this if present. |
review_response | string | no | Nullable. Stored only inside json_data for Indeed. |
first_name | string | conditional | Required only when review_site=indeed. |
last_name | string | conditional | Required only when review_site=indeed. |
company | string | conditional | Required only when review_site=indeed. |
company_url | string | conditional | Required only when review_site=indeed. |
phone | string | conditional | Required only when review_site=indeed. |
country | string | conditional | Required only when review_site=indeed. |
country_name | string | conditional | Required only when review_site=indeed. |
number_of_employees | string | conditional | Required only when review_site=indeed (stored as numEmployees in json_data). |
flag_email_address | string | conditional | Required only when review_site=indeed; no email-format check is applied. |
Response — { data. } envelope. Also adds plan feature-usage headers.
status(string) —success.message(string) —Review has been Flagged Successfully.
Path params
| Parameter | Type | Required | Notes |
|---|---|---|---|
reviewId | integer | Required | Digits only. |
Errors: 404 when the review id does not exist.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
