/api/v4/locations/reviews/settings/editEdit review settings for a location
Sets which review sources a location is monitored on, and its positive-review threshold.
Parameters
Body
| Name | Type | Required | Description |
|---|---|---|---|
| locationId | string | required | Location to update. Accepts a raw numeric database ID or its Base64-encoded Relay ID. |
| siteUrls | array | optional | The complete set of review sources for the location. This REPLACES the current selection, so send every source you want kept, not just the additions. |
| siteUrls[].name | string | optional | Site key, as returned in `siteSettings[].name` (e.g. `maps.google.com`, `yelp.com`). |
| siteUrls[].url | string | optional | The location's page URL on that site. Send `null` or omit to stop monitoring a source that needs an explicit URL. |
| positiveInteractionThreshold | integer | optional | Star rating at or above which a review counts as positive. Sent on its own, it leaves the source selection untouched. |
Sample request
Ready-to-paste body. Replace placeholder IDs and values with yours.
{ "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "positiveInteractionThreshold": 4, "siteUrls": [ { "name": "maps.google.com", "url": null }, { "name": "yelp.com", "url": "https://www.yelp.com/biz/blue-bottle-coffee-oakland" } ]}Responses
200Settings applied. `data.editInteractionsSetting.interactionSetting` echoes the stored settings; `errors` is `null` on success.
{ "data": { "editInteractionsSetting": { "errors": null, "interactionSetting": { "id": "1800289", "locationId": "1800289", "positiveInteractionThreshold": 4, "siteSettings": [ { "name": "maps.google.com", "url": null, "monitored": true, "canRespond": true }, { "name": "yelp.com", "url": "https://www.yelp.com/biz/blue-bottle-coffee-oakland", "monitored": true, "canRespond": false } ] } } }}401Unauthenticated, missing or invalid API key.
403The key is valid but not permitted to change review settings for this location (`SY90003`).
Updates the review sources a location is monitored on, and the rating that counts as a positive review. The read side of the same settings is List review sources for a location.
siteUrls is a replacement, not a patch. The array you send becomes the location's source selection. To add one source, read the current siteSettings first and post the existing entries back alongside the new one; posting a single-element array silently drops every other source.
The two fields are independent. Send only positiveInteractionThreshold to change the threshold without touching the sources, or only siteUrls to change the sources without touching the threshold.
Adding a source schedules a scrape for it, so a newly-added site's reviews arrive asynchronously rather than in this response. A source rejected by validation (an unreachable URL, or a source the account's plan does not include) comes back in errors with the setting unchanged, so check errors even on a 200.
Use case: onboarding a location's Yelp page
Right after a location is created, its Google and Facebook sources are monitored automatically but a Yelp page has to be named explicitly. Read the current selection from the settings route, append { "name": "yelp.com", "url": "<the location's Yelp URL>" }, and post the whole array back with the location's ID. The scrape is queued immediately and the first Yelp reviews appear in List interactions once it completes.
This endpoint mutates live monitoring configuration. The request shape and sample response above are documented from the gateway's request translation and the upstream mutation's arguments (
EditInteractionsSetting), not captured from a live call.
curl -X POST 'https://listingsapi.com/api/v4/locations/reviews/settings/edit' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "positiveInteractionThreshold": 4, "siteUrls": [ { "name": "maps.google.com", "url": null }, { "name": "yelp.com", "url": "https://www.yelp.com/biz/blue-bottle-coffee-oakland" } ] }'