v1Resources/Clients/patchUpdate client notification defaults
Update client notification defaults
Changes the notification defaults for every client in your workspace. Send exactly one of patch, config or reset; sending none, or more than one, returns 400. Only an agency owner or admin can make this change, and the key and member both need access to all clients: a key or member limited to some clients gets 403, because these defaults reach every client. Location lists can't be set here, since locations belong to one client; set them per client instead. A 409 means the settings changed at the same moment: read them again and retry. The response is the same as GET, showing the settings now in force.
patch
clients:write/api/v1/settings/client-notificationsRequest body
patchobjectoptional
Changes only the fields you name. A value sets the field; null clears it so it falls back to the built-in default. Fields you leave out stay as they are.
showToClientsbooleanoptional
Whether client portal users see the Manage notifications page. null returns to the built-in default (true).
lockedbooleanoptional
Whether the notification list is read-only for clients. null returns to the built-in default (false). If the page is hidden, the list is always saved unlocked.
rowsobjectoptional
Changes per notification row, keyed by row id (approvalRequested, workAssigned, approvalOverdue, commentReplied, workUpdated, reviewsNew, reviewsLow, reviewFetchFinished, reportReady, postPublishFailed, postIdeasReady, clientCredits, connectionReconnect). Each row takes inApp and email, set independently. An unknown row id returns 400.
configobjectoptional
Saves the whole list in one go. Rows and switches you leave out keep their current values. null discards your workspace's saved defaults and goes back to the built-in ones.
showToClientsbooleanoptional
Whether client portal users see the Manage notifications page.
lockedbooleanoptional
Whether the notification list is read-only for clients. A client user's own choices only count while the page is shown and not locked.
rowsobjectoptional
On/off switches per row id, with inApp and email as booleans. A row id that doesn't exist, or a value that isn't a boolean, returns 400.
resetboolean (true)optional
true discards your workspace's saved defaults and goes back to the built-in ones.
Response
dataobjectrequired
configobjectoptional
The defaults in force, as a complete list: both page switches and every row.
vinteger (1)optional
showToClientsbooleanoptional
Whether client portal users see the Manage notifications page.
lockedbooleanoptional
Whether the notification list is read-only for clients. A client user's own choices only count while the page is shown and not locked.
rowsobjectoptional
Every notification row by id, with inApp and email on or off.
customizedbooleanoptional
true when your workspace has saved its own defaults; false when it uses the built-in ones.
canManagebooleanoptional
Whether the member behind this key is an agency owner or admin and can change the defaults.
emailReadybooleanoptional
Whether your workspace has a verified sending domain. Until it does, no notification email reaches clients, whatever the email switches say.
settingsobjectoptional
The same defaults, row by row, with where each value comes from.
scopeobjectoptional
kindstring (agency)optional
customizedbooleanoptional
true when your workspace has saved its own defaults; false when it uses the built-in ones.
showToClientsobjectoptional
Whether client portal users see the Manage notifications page.
valuebooleanoptional
fromstring (default | agency)optional
lockedobjectoptional
Whether the notification list is read-only for clients. A client user's own choices only count while the page is shown and not locked.
valuebooleanoptional
fromstring (default | agency)optional
rowsarray of objectoptional
One entry per notification row, in display order.
idstring (approvalRequested | workAssigned | approvalOverdue | commentReplied | workUpdated | reviewsNew | reviewsLow | reviewFetchFinished | reportReady | postPublishFailed | postIdeasReady | clientCredits | connectionReconnect)optional
The row's stable id. Use it as the key under rows when you update.
categorystring (work | reviews | reports | posts | credits | connections)optional
The group the row belongs to: work, reviews, reports, posts, credits or connections.
locationsbooleanoptional
Whether the row can be limited to some locations. Always false at this level, because location lists are set per client.
inAppobjectoptional
The row's portal notification.
emailobjectoptional
The row's email notification.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
409The request conflicts with the current state of the resource — for example, changing the email or phone of a recipient who has already been messaged, or a team invite that was already accepted (or hasn't been accepted yet).
429Too many requests. Retry after the number of seconds in the Retry-After header.
503The service is temporarily unavailable. Retry a credit grant with the same idempotency key.
patch/api/v1/settings/client-notifications
Your API key
Request body
{}Guides that use this resource
- Business Listings API: Complete Developer GuideHow a business listings API works and how to create, update, sync and monitor locations across Google, Apple, Bing and directories with the Synup API.
- Create a Location with the Synup APICreate a business location in one POST, with or without a client, get back a locationId, and know which fields matter and which can wait.
- How to Build a Reputation Management PlatformArchitecture and API calls for a multi-client reputation management platform on Synup: review ingestion, reply workflows, invites, widgets and reporting.
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Build a White-Label Local Marketing PlatformBuild a multi-tenant white-label local marketing platform on the API, with client provisioning, team access, per-client summaries and scoped API keys.
- How to Build a Multi-Location Marketing DashboardBuild a multi-location marketing dashboard from the API's rollup endpoints, one call per panel, covering listings, reviews, rank, AI visibility and duplicates.
- How to Add Local Marketing Functionality to Vertical SaaSAdd local marketing to a vertical SaaS by mapping existing customers to clients and locations, and shipping only the features your niche needs.