Change display-connected flag (non-prod)

Overview

Non-production only (returns 403 on production). Sets the display_as_connected flag on the (store_id, review_site_id) store-review-site row. When Y, the connection page shows the site as Connected without a live platform connection; enabling requires the row to already have a review_site_url. When N, the connected display is turned off.

Prerequisites

  • Either a bearer token in the Authorization header, or the invite hash this endpoint accepts in place of one.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

POST /api/v1/store-review-site/change-display-connected

Authentication

  • A bearer token is optional here. Send one to act as a signed-in user, or supply the documented hash instead.

  • Auth-optional — this endpoint lives in the public store-review-site group. Authenticate one of two ways.

  • Either send an admin/account bearer token. In that case store_id is scoped by an ownership check.

  • Or supply an emailed invite hash with no token. The store_id is then derived from the hash, so a recipient can only toggle their own store.

  • The endpoint is blocked entirely (403) on production.

Rate limit

  • 30 requests/min per IP.

Request body

FieldTypeRequiredDescription
review_site_idintegerRequiredMust be an existing review site.
store_idintegerRequiredMust be an existing location. Token flow: must be in caller's hierarchy (an ownership check). Hash flow: overridden by the store encoded in hash (any supplied value is ignored).
display_as_connectedstring (Y|N)RequiredY = mark connected (requires an existing review_site_url); N = turn off.
hashstringOptionalInvite hash (alphanumeric). When present, grants tokenless access and supplies store_id (must decode to entity type 15).
{
  "review_site_id": "<reviewSiteId>",
  "store_id": "<storeId>",
  "display_as_connected": "Y"
}

How it works

  • 200{ data: { status: 'success', message } } ('Review site marked as connected' / 'Connected display turned off').
  • 400 — no matching store-review-site row, or enabling without a stored review_site_url.
  • 403 — called on production (route disabled) or unauthorised.
  • 422 — validation failure.

Response

200 OK · 200

{
  "data": {
    "status": "success",
    "message": "Review site marked as connected"
  }
}

400 Missing URL · 400

{
  "message": "Bad Request",
  "status": "error",
  "errors": {
    "message": "Review site URL is required before marking this site as connected."
  }
}

Errors

StatusMeaning
400Missing URL
401The bearer token is missing, expired or invalid
403Returned on production
422Returned validation failure
500Unexpected server error

Example request

curl --request POST \
  --url "https://development-api.shoutaboutus.com/api/v1/store-review-site/change-display-connected" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"review_site_id": "<reviewSiteId>", "store_id": "<storeId>", "display_as_connected": "Y"}'

Did this page help you?