Master review-site catalog

Overview

Returns the selectable review-site catalog (value/label pairs) available to an account. This is the union of review sites attached (via plan_review_sites) to the plans assigned to the account's account(s). hipages is pinned first, then Google (44) and Yelp (1). The legacy "Google" site id 52 is always excluded.

Prerequisites

  • A bearer token. Callable with Partner and Account tokens.

Base URL

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

Endpoint

POST /api/v1/account/reviewsite/list

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Who can call it: Partner and Account tokens.

  • Mounted under the role-agnostic /account/* prefix (top-level authentication group).

  • Target account is taken from body company_id, falling back to the auth user's own person.company_id.

  • The company_id must sit inside your own account tree. This resolves account (bundle_id=3) directly and walks the partner (bundle_id=1) tree.

  • A Partner may pass any company in its hierarchy. An Account reaches only its own part of the account tree.

Rate limit

  • No rate limit.

Request body

  • Body:
FieldTypeRequiredDescription
company_idintegeroptionalnullable; must exists in the account's id AND pass an ownership check (must be inside the caller's company hierarchy). If omitted, defaults to the auth user's person.company_id.
except_review_site_idarrayoptional`nullable
except_review_site_id.*integerrequired_witheach element required when except_review_site_id is present.
{
  "company_id": 5,
  "except_review_site_id": [
    44,
    3
  ]
}

Response

  • data.status (string) — always "success".
  • data.response (array) — list of review sites; empty [] when the account's accounts have no plans or those plans have no review sites. Each item:
  • value (integer) — review site id.
  • label (string) — review site name; id 44 is force-labelled "Google", otherwise the review site's name.

200 OK · 200

{
  "data": {
    "status": "success",
    "response": [
      { "value": 44, "label": "Google" },
      { "value": 1, "label": "Yelp" }
    ]
  }
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
422The request failed validation — the response names the fields
500Unexpected server error

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/account/reviewsite/list" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"company_id": 5, "except_review_site_id": [44, 3]}'

Did this page help you?