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/api/v1/settings/client-notifications
clients:write
Request 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