Bulk-update credentials across the account
Overview
Bulk-sets username + password for one review site across every store under an account, enabling its scraper on each. Optionally persists the credentials so future stores inherit them.
Prerequisites
- A bearer token. Callable with Partner and Account tokens.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/store-review-site/bulk-update
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Partner and Account tokens.
-
account_idmust be abundle_id=3account-company that passes an ownership check. The auth user'sperson.company_idmust be a parent of it in the company tree. -
A Partner can target any account under their tree. An Account user can only target its own account.
Rate limit
- No rate limit.
Request body
- Body:
| Field | Type | Required | Description |
|---|---|---|---|
review_site_id | integer | yes | Must be an existing review site. |
username | string | yes | 2–1000 chars; NameNoAngleBrackets (no </>). Stored CryptoJS-AES encrypted. |
password | string | yes | 5–1000 chars; NameNoAngleBrackets. Stored CryptoJS-AES encrypted. |
account_id | integer | yes | Account-company id (bundle_id=3, not soft-deleted); must belong to caller's hierarchy. |
apply_to_future_stores | string (Y/N) | no | When Y, saves the credentials to company_meta_data (category review_site) so future stores reuse them. |
{
"review_site_id": 5,
"username": "[email protected]",
"password": "<encrypted-password>",
"account_id": 7,
"apply_to_future_stores": "Y"
}Response
data.status(string) —success.data.message(string) —The username and password has been updated successfully!. Returns a 400 withStore not found!if the account resolves to zero stores or the review site is invalid.
200 OK · 200
200{ "data": { "status": "success", "message": "The username and password has been updated successfully!" } }Errors
| Status | Meaning |
|---|---|
400 | The request was rejected — the response explains why |
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/store-review-site/bulk-update" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"review_site_id": 5, "username": "[email protected]", "password": "<encrypted-password>", "account_id": 7, "apply_to_future_stores": "Y"}'Updated 10 days ago
Did this page help you?
