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
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://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=1expands.
Rate limit
- No rate limit.
Request body
- Body:
| Field | Type | Required | Description |
|---|---|---|---|
reportType | string | yes | One 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. |
reportPeriodType | string | yes | day, week, or month; constrained. |
all_store | integer | yes | 1 = all stores, 0 = specific stores. Rule required|in:0,1. |
store_ids | int[] | required_if all_store=0 | Store ids; each must be an existing location and pass an ownership check. |
old_recipient_email | string(email) | required_without recipient_email | Existing email; reused (or created from matching user's name) as the recipient. |
recipient_email | string(email) | required_without old_recipient_email | New recipient email. |
recipient_first_name | string(max 100) | required_without old_recipient_email | New recipient first name. |
recipient_last_name | string(max 100) | required_without old_recipient_email | New 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) — messageReport has been saved successfully!.
200 Success · 200
200{
"data": { "status": "success", "response": "Report has been saved successfully!" }
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
403 | The token is valid but the record sits outside your account |
422 | The request failed validation — the response names the fields |
500 | Unexpected 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"}'Updated 9 days ago
Did this page help you?
