Get the manager-invite address for a site

Overview

For sites that authorize posting by manager invite (Yelp, TripAdvisor, Expedia, Booking.com, DoorDash and others), get the address the business owner needs to add as a manager on their listing, and check whether they've done it yet.

Use this after the site's review URL is set. Give the returned address to the owner (or let them see it on the connection page); once they've added it as a manager, call again to confirm the status has changed to connected.

You'll need the store_review_site_id. The address (identity_address) is created once the owner has said who responds to reviews and which locations the connection covers, on the connection page (connect_page_url from List a location's review sites). Until then it's null, and step shows where they are.

Returns the address to invite, the current connection status, and whether posting is enabled. Pending until the owner completes the invite on the review site.

Prerequisites

Base URL

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

Endpoint

POST /api/v1/store-review-site/{id}/connect

Authentication

Partner or Account token

  • The connection must be on a location inside your own account tree. A Partner token reaches any location under the partner; an Account token only its own account's locations. Otherwise 422.
  • Or, with no token: send the invite hash (the token from Send the business owner a connection link). The connection must be on the location the hash is for.

Rate limit

30 requests per minute, counted per client IP address. See Rate limits.

Request parameters

ParameterInTypeRequiredDescription
idpathintegerYesThe connection's id (store_review_site_id).

Request body

FieldTypeRequiredDescription
hashstringNoThe invite hash from a connection link. Use it instead of a token.

Request payload

With a token:

{}

Without a token:

{
  "hash": "5oogfx"
}

Response body

The payload is inside data.

FieldTypeDescription
identity_addressstring or nullThe address the owner adds as a manager on the site. null until it's created (see Overview).
stepstringWhere the owner is on the connection page: identity (who responds), locations, invite (add the address as a manager) or connected.
handle_bystring or nullThe SAU code of the location that handles this connection when it covers several locations, or null.
group_locationsarray of objectsThe locations this connection covers. Empty when it covers only this one.
group_locations[].store_idintegerThe location's id.
group_locations[].saucodestringThe location's SAU code.
group_locations[].namestringThe location's name.
group_locations[].is_currentbooleantrue for the location of this connection.
publisher_keystringThe site's domain, e.g. yelp.com.
publisher_account_idstring or nullThe id of the site account created for this connection, or null.
connection_statusstringConnected, Awaiting or Disconnected.
is_connectedinteger1 when connected, otherwise 0.
lock_colorstringStatus colour: green (connected), orange (awaiting) or gray.
sendto_scrapperstringY when review collection is on, N when it's off.
publisher_urlstring or nullThe site's review URL for the location.
auth_typestring or nullHow the site connects, e.g. cookie or credential. See List supported review sites.
scraping_enabledbooleanWhether reviews can be collected from this site.
posting_enabledbooleanWhether responses can be posted to this site.
is_premiumbooleantrue when adding a manager on this site needs a paid business plan on the site.
last_scraped_atstring or nullWhen reviews were last collected (ISO 8601), or null.
disconnect_reasonstring or nullWhy the site isn't connected, in plain language, or null.
is_valid_credentialboolean or nullWhether the site login is valid, as last reported, or null when unknown.
is_valid_cookieboolean or nullWhether the site session is valid, as last reported, or null when unknown.
url_statusstring or nullThe status of the site URL as last reported, or null.
credential_statusstring or nullThe status of the site login as last reported, or null.
cookie_statusstring or nullThe status of the site session as last reported, or null.
last_response_posted_atstring or nullWhen a response was last posted to the site, or null.
status_synced_atstring or nullWhen this status was last refreshed (ISO 8601), or null.
client_confirmed_atstring or nullWhen the owner confirmed on the connection page that they added the manager (ISO 8601), or null.
disconnect_sourcestring or nullThe event that disconnected the site, or null.
error_codestring or nullThe connection problem's code, e.g. E-003, or null.
photo_reapply_pendingbooleantrue after a new responder photo is submitted, until the site accepts it.
rd_responder_first_namestring or nullFirst name of the person who responds to reviews, as saved on the connection page.
rd_responder_last_namestring or nullLast name of that person.
rd_responder_photo_urlstring or nullURL of that person's photo, or null.
sourcestringHow this status was worked out, e.g. rd_get_info (refreshed from the site), rd_provisioned (address just created), needs_provisioning or awaiting_locations (earlier steps not done yet).

Response payload

{
  "data": {
    "identity_address": "[email protected]",
    "step": "invite",
    "handle_by": null,
    "group_locations": [],
    "publisher_key": "yelp.com",
    "publisher_account_id": "acct_8812",
    "connection_status": "Awaiting",
    "is_connected": 0,
    "lock_color": "orange",
    "sendto_scrapper": "Y",
    "publisher_url": "https://www.yelp.com/biz/en-fuego-cantina-and-grill-del-mar",
    "auth_type": "cookie",
    "scraping_enabled": true,
    "posting_enabled": true,
    "is_premium": false,
    "last_scraped_at": null,
    "disconnect_reason": "Invite the business manager alias to finish connecting.",
    "is_valid_credential": null,
    "is_valid_cookie": null,
    "url_status": null,
    "credential_status": null,
    "cookie_status": null,
    "last_response_posted_at": null,
    "status_synced_at": "2026-06-22T09:53:28+00:00",
    "client_confirmed_at": null,
    "disconnect_source": null,
    "error_code": null,
    "photo_reapply_pending": false,
    "rd_responder_first_name": "Jane",
    "rd_responder_last_name": "Smith",
    "rd_responder_photo_url": null,
    "source": "rd_get_info"
  }
}

Examples

Success payload

See Response payload.

Error payload

400 The site couldn't be connected

{
  "message": "No selected location has a saucode to provision.",
  "status": "error",
  "errors": {
    "connect": [
      "No selected location has a saucode to provision."
    ]
  }
}

422 Connection outside your tree

{
  "message": "The selected store review site id does not belong to your company hierarchy.",
  "errors": {
    "store_review_site_id": [
      "The selected store review site id does not belong to your company hierarchy."
    ]
  }
}

422 Invalid hash

{
  "message": "Invalid or expired token.",
  "errors": {
    "hash": [
      "Invalid or expired token."
    ]
  }
}

429 Too many requests

{
  "message": "Too Many Attempts."
}
StatusMeaning
200The connection status, with the address once it exists.
400The site couldn't be connected; message says why.
401No token and no hash, or the token is expired or invalid.
422The connection doesn't exist or is outside your tree, or the hash is invalid or for another location.
429Rate limit exceeded.
500Unexpected server error.

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/store-review-site/8782/connect" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{}'

Did this page help you?