Create partner email report
Overview
Create a scheduled partner-level email report (activity/response/feed/etc.) for a recipient, scoped to all accounts the partner owns or to a specific list of account companies.
Prerequisites
- A bearer token. Callable with Partner tokens.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/partner/reports/add
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Partner tokens.
-
Lives under the
partner/*group (partner-admin scope, no Hipages gate). -
The owning company is the auth user's.
-
Each
account.*id must sit inside your own account tree, so a partner can only target account companies inside its own company tree. -
The recipient comes either from an existing user (
old_recipient_email) or created fresh fromrecipient_email+ name.
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 are forced to day frequency. |
reportPeriodType | string | yes | day, week, or month. Further constrained by based on reportType. |
all_account | integer | yes | 1 = all accounts the partner owns, 0 = specific accounts. Rule required|nullable|in:0,1. |
account | int[] | required_if all_account=0 | Account company ids; each must be an existing account and pass an ownership check. |
old_recipient_email | string(email) | required_without recipient_email | Existing user's email; report attached to that user. |
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_account": 0,
"account": [
10,
11
],
"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!. On missing company / unknownold_recipient_email, a 400{ status: 'error', response: 'Company not found!' | 'User not found!' }comes back instead.
200 Success · 200
200{
"data": { "status": "success", "response": "Report has been saved successfully!" }
}400 User not found · 400
400{
"message": "Bad Request",
"status": "error",
"errors": { "status": "error", "response": "User not found!" }
}Errors
| Status | Meaning |
|---|---|
400 | User not found |
401 | The bearer token is missing, expired or invalid |
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/partner/reports/add" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"reportType": "activity_report", "reportPeriodType": "month", "all_account": 0, "account": [10, 11], "recipient_email": "[email protected]", "recipient_first_name": "Jane", "recipient_last_name": "Doe"}'Updated 11 days ago
Did this page help you?
