Add an account email report (per-user)

Overview

Add a new recipient to receive an automated account-level email report on a daily/weekly/monthly cadence. The report is scoped to all stores under the account or to a specific store list.

Prerequisites

  • A bearer token. Callable with Account tokens.

Base URL

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

Endpoint

POST /api/v1/user/reports/add

Authentication

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

  • Who can call it: Account tokens.

  • Mounted under the user/* group.

  • Requires the auth user's company to be an account (bundle_id=3), so only an account user is allowed (else 403).

  • Each store_ids.* is checked by an ownership check, so only stores in the caller's company tree are accepted; all_store=1 expands.

Rate limit

  • No rate limit.

Request body

  • Body:
FieldTypeRequiredDescription
reportTypestringyesOne of activity_report, response_report, review_feed, review_feed_star, review_responses, review_site_connections, insight_report (forces month frequency). review_feed/review_feed_star must use day.
reportPeriodTypestringyesday, week, or month; constrained.
all_storeintegeryes1 = all stores, 0 = specific stores. Rule required|in:0,1.
store_idsint[]required_if all_store=0Store ids; each must be an existing location and pass an ownership check.
old_recipient_emailstring(email)required_without recipient_emailExisting email; reused (or created from matching user's name) as the recipient.
recipient_emailstring(email)required_without old_recipient_emailNew recipient email.
recipient_first_namestring(max 100)required_without old_recipient_emailNew recipient first name.
recipient_last_namestring(max 100)required_without old_recipient_emailNew recipient last name.
{
  "reportType": "activity_report",
  "reportPeriodType": "month",
  "all_store": 0,
  "store_ids": [
    1
  ],
  "recipient_email": "[email protected]",
  "recipient_first_name": "Jane",
  "recipient_last_name": "Doe"
}

Response

  • data.status (string) — success.
  • data.response (string) — message Report has been saved successfully!.

200 Success · 200

{
  "data": { "status": "success", "response": "Report has been saved successfully!" }
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
403The token is valid but the record sits outside your account
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/user/reports/add" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"reportType": "activity_report", "reportPeriodType": "month", "all_store": 0, "store_ids": [1], "recipient_email": "[email protected]", "recipient_first_name": "Jane", "recipient_last_name": "Doe"}'

Did this page help you?