Get the reasons a site accepts

Overview

Get the list of flag reasons a review site accepts, in that site's own words.

Use this before flagging so you can offer the right reasons in your UI and submit one the site will recognize.

You'll need the review_site_id. Leave it out to get the reasons for every site, grouped by site.

Returns each reason with its identifier and full description. You'll pass the identifier when you flag.

Prerequisites

  • A bearer token. See Authentication.
  • Optional: the review site's id (review_site_id), e.g. from the review.

Base URL

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

Endpoint

GET /api/v1/reviews/flag/reasons

Authentication

Partner or Account token

  • The reason list is the same for every caller; it isn't tied to an account.

Rate limit

This endpoint has no rate limit.

Request parameters

ParameterInTypeRequiredDescription
review_site_idqueryintegerNoOnly this review site's reasons, as a flat list. Leave it out to get every site's reasons, grouped by site. A site with no reasons returns [].

Request body

None.

Request payload

None.

Response body

The reasons are in the data array.

With review_site_id, one entry per reason:

FieldTypeDescription
data[].idintegerThe reason's id.
data[].reason_identifierstringThe reason's short name. Send it as reason_identifier in Flag a review.
data[].reasonstringThe site's full description of the reason. Send it as reason.

Without review_site_id, one entry per review site:

FieldTypeDescription
data[].review_site_idintegerThe review site's id.
data[].review_site_namestring or nullThe review site's name.
data[].reasonsarrayThe site's reasons, each with id, reason_identifier and reason as above.

Response payload

{
  "data": [
    {
      "id": 1,
      "reason_identifier": "Low quality information",
      "reason": "Review is off-topic, contains ads, or is gibberish or repetitive"
    },
    {
      "id": 2,
      "reason_identifier": "Profanity",
      "reason": "Review contains swear words, or has pornographic or sexually explicit language"
    },
    {
      "id": 3,
      "reason_identifier": "Harmful",
      "reason": "Review contains content that encourages, promotes or provides instructions for self-harm, misuse of dangerous items or substances, or details or encourages graphic violence to people or animals"
    },
    {
      "id": 4,
      "reason_identifier": "Bullying or harassment",
      "reason": "Review personally attacks a specific individual"
    },
    {
      "id": 5,
      "reason_identifier": "Discrimination or hate speech",
      "reason": "Review has harmful language about an individual or group based on identity"
    },
    {
      "id": 6,
      "reason_identifier": "Personal information",
      "reason": "Review contains personal information, such as an address or phone number"
    },
    {
      "id": 7,
      "reason_identifier": "Not helpful",
      "reason": "Review doesn’t help people decide whether to go to this place"
    }
  ]
}

Examples

Success payload

One site (review_site_id=44, Google): see Response payload.

Every site, grouped (shortened here to one site):

{
  "data": [
    {
      "review_site_id": 1,
      "review_site_name": "Yelp",
      "reasons": [
        {
          "id": 8,
          "reason_identifier": "Inappropriate content",
          "reason": "It contains threats, lewdness or hate-speech."
        },
        {
          "id": 9,
          "reason_identifier": "Conflicts of interest",
          "reason": "It was posted by a competitor or ex-employee."
        },
        {
          "id": 10,
          "reason_identifier": "Promotional content",
          "reason": "It contains promotional material."
        },
        {
          "id": 11,
          "reason_identifier": "Relevance",
          "reason": "It doesn’t describe a personal consumer experience."
        },
        {
          "id": 12,
          "reason_identifier": "Privacy",
          "reason": "It violates Yelp’s privacy standards."
        },
        {
          "id": 13,
          "reason_identifier": "Intellectual property",
          "reason": "It violates Yelp’s intellectual property standards."
        },
        {
          "id": 14,
          "reason_identifier": "Demanding payment",
          "reason": "The reviewer asks for payment to take down their negative review."
        }
      ]
    }
  ]
}

Error payload

401 Unauthenticated

{
  "message": "Unauthenticated."
}
StatusMeaning
200The reasons, or [] when the site has none.
401The token is missing, expired or invalid.
500Unexpected server error.

Example request

curl --request GET \
  --url "https://production-api.shoutaboutus.com/api/v1/reviews/flag/reasons?review_site_id=44" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json'

Did this page help you?