Flag history
Overview
Paginated list of review flags whose review belongs to a store the authenticated user can access, newest flag first.
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
GET /api/v1/reviews/flag/history
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Partner and Account tokens.
-
Scope is limited to the stores you can reach. A partner sees the whole account tree beneath it. An account sees its own store children.
-
If you supply
store_id, it must be in that accessible set. Otherwise the response is 403You do not have access to this store.. -
When the user has no accessible stores, the response is
{ data: { data: [], total: 0 } }.
Rate limit
- No rate limit.
Query parameters
- Query:
store_id(integer, optional) — restrict to one store the user can access; rejected with 403 if not in their scope. - Query:
flag_status(string, optional) — one ofpending,denied,approved_removed,submitted_to_platform; an unknown value returns 400Invalid flag_status value.. - Query:
review_site(string, optional) — filters by review-sitename(matched againstreview.reviewsite.name). - Query:
page(integer, optional) — standard paginator page; default 1. - Query:
limit(integer, optional) — per-page size; default 20.
Response
current_page/last_page/per_page/total/from/to(integers/null) — paginator meta.first_page_url/last_page_url/next_page_url/prev_page_url/path(string|null) — paginator URLs.data.links(array) — paginator link objects (url,label,page,active).data.data[](array) —ReviewFlagrows, each includingreview(id,store_id, review_site_id, reviewer, rate, message, review_date),review.reviewsite(id, name) andreview.store(id, name, storeid, company_id).
200 Success · 200
200{
"data": {
"current_page": 1,
"data": [
{
"id": 4,
"review_id": 11,
"reason": "It contains threats, lewdness or hate-speech.",
"reason_identifier": "Inappropriate content",
"flag_reason_detail": "Fabricated claims.",
"flag_status": "pending",
"flag_date": "2026-06-25T10:00:00.000000Z",
"user_id": 1,
"review": {
"id": 11,
"store_id": 7,
"review_site_id": 100,
"reviewer": "Jane D.",
"rate": 1,
"message": "Terrible.",
"review_date": "2026-06-20",
"reviewsite": {
"id": 100,
"name": "Yelp"
},
"store": {
"id": 7,
"name": "Downtown",
"storeid": "DT-01",
"company_id": 55
}
}
}
],
"first_page_url": "https://production-api.shoutaboutus.com/api/v1/reviews/flag/history?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://production-api.shoutaboutus.com/api/v1/reviews/flag/history?page=1",
"links": [],
"next_page_url": null,
"path": "https://production-api.shoutaboutus.com/api/v1/reviews/flag/history",
"per_page": 20,
"prev_page_url": null,
"to": 1,
"total": 1
}
}Errors
| Status | Meaning |
|---|---|
400 | The request was rejected — the response explains why |
401 | The bearer token is missing, expired or invalid |
403 | The token is valid but the record sits outside your account |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/reviews/flag/history?store_id=123&flag_status=pending&page=1&limit=20" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 8 days ago
Did this page help you?
