Export to Excel

Overview

Download the review and response feed for the period as a spreadsheet.

Use this for offline analysis or sharing.

You'll need a partner token and a date range.

Returns a link to the file.

Prerequisites

  • A Partner bearer token. See Authentication.
  • A date range: range_start and range_end, both Y-m-d H:i:s.
  • Optional: a store_id or account_id (or your own client_location_id / client_account_id) to narrow the report. Leave them out to cover every location under your partner.

Base URL

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

Endpoint

POST /api/v1/partner/excel/download/review-response-feed

Authentication

Partner token

  • Only Partner tokens can call it. Any other token gets 500 with Access denied. Partner plan required.
  • Which locations are covered: account_id (that account's locations) if sent, otherwise store_id (one location), otherwise every location under your partner; when the user behind the token is limited to some accounts, only those. client_location_id and client_account_id are used when store_id and account_id aren't sent.
  • Every id you send must be inside your own tree: a location or account under your partner. Anything else is rejected with 422.

Rate limit

60 requests per minute, counted per user (the token’s user). See Rate limits.

Request parameters

None.

Request body

FieldTypeRequiredDescription
range_startstringYesStart of the date range, as Y-m-d H:i:s.
range_endstringYesEnd of the date range, as Y-m-d H:i:s.
store_idintegerNoOne location to report on. Must exist and be inside your tree.
account_idintegerNoOne account under your partner (an account id, not a location). Must exist and be inside your tree.
client_location_idstringNoYour own id for a location. Used in place of store_id when store_id isn't sent. Max 255 characters; must be inside your tree.
client_account_idstringNoYour own id for an account. Used in place of account_id when account_id isn't sent. Max 255 characters; must be inside your tree.
searchstringNoReserved. Accepted (max 255 characters) but not used.

Request payload

{
  "range_start": "2026-01-01 00:00:00",
  "range_end": "2026-09-30 23:59:59",
  "account_id": 5994
}

Response body

The payload is inside data.

FieldTypeDescription
pathstringURL of the generated .xlsx file. Download it from there.

Response payload

{
  "data": {
    "path": "https://d2ny6zb7otrnhl.cloudfront.net/download/excel/2026-10/1790812800-ReviewResponseReport.xlsx"
  }
}

Examples

Success payload

See Response payload.

Error payload

422 Date range missing

{
  "message": "The range start field is required. (and 1 more error)",
  "errors": {
    "range_start": [
      "The range start field is required."
    ],
    "range_end": [
      "The range end field is required."
    ]
  }
}

422 Wrong date format

{
  "message": "The range start field must match the format Y-m-d H:i:s.",
  "errors": {
    "range_start": [
      "The range start field must match the format Y-m-d H:i:s."
    ]
  }
}

422 Account outside your tree

{
  "message": "The selected account id does not belong to your company hierarchy.",
  "errors": {
    "account_id": [
      "The selected account id does not belong to your company hierarchy."
    ]
  }
}

422 Location doesn't exist

{
  "message": "The selected store id is invalid. (and 1 more error)",
  "errors": {
    "store_id": [
      "The selected store id is invalid.",
      "The selected store id does not belong to your company hierarchy."
    ]
  }
}

500 Not a Partner token

{
  "message": "Internal Server Error",
  "status": "error",
  "errors": "Access denied. Partner plan required."
}

429 Too many requests

{
  "message": "Too Many Attempts."
}
StatusMeaning
200A link to the spreadsheet.
401The token is missing, expired or invalid.
422A date is missing or not Y-m-d H:i:s, or store_id, account_id, client_location_id or client_account_id doesn't exist or is outside your tree.
429More than 60 requests in a minute from this user.
500The token isn't a Partner token (Access denied. Partner plan required.), or an unexpected server error.

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/partner/excel/download/review-response-feed" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"range_start": "2026-01-01 00:00:00", "range_end": "2026-09-30 23:59:59", "account_id": 5994}'

Did this page help you?