---
title: "Update notification settings"
method: PATCH
path: "/v3/settings/notifications"
tags: ["Settings"]
---

# Update notification settings

`PATCH /v3/settings/notifications`

Update the organization's notification preferences. These are org-wide, so the change applies to every brand in the organization. All fields optional; only provided fields change. reportRecipients replaces the client-report recipient list (each entry: email + weekly/monthly/whiteLabel booleans + teamIds + an optional per-brand reports map + an optional schedule: sendTime, timeZone, weeklyDay, monthlyDay). defaultReportTemplateSlug sets the template used when a recipient has no per-brand choice. reportLinkPassword gates the hosted report links. weeklyReportTeamIds / monthlyAuditTeamIds scope the org's own reports to specific brands; omit or send null for all brands.

## Request body

- object
  - `teamId` string
  - `weeklyReports` boolean
  - `monthlyAudits` boolean
  - `newOpportunities` boolean
  - `resourceUsageWarning` boolean
  - `clientReportsEnabled` boolean
  - `weeklyReportTeamIds` string[], nullable — Brands the weekly report covers. Null or omitted means all brands.
  - `monthlyAuditTeamIds` string[], nullable — Brands the monthly audit covers. Null or omitted means all brands.
  - `reportRecipients` object[]
    - `email` string, required
    - `weekly` boolean
    - `monthly` boolean
    - `whiteLabel` boolean
    - `teamIds` string[] — Brands this recipient receives reports for. Empty delivers nothing.
    - `reports` object — Which report this recipient gets per brand, keyed by teamId. Each value is { kind: "template", slug } or { kind: "report", reportId }. A saved report may only be paired with the brand it was built in; a brand with no entry uses defaultReportTemplateSlug.
    - `sendTime` string — Time of day reports go out, "HH:MM" 24-hour on a 15-minute step (e.g. "09:30"), read in timeZone. Omit for 09:00.
    - `timeZone` string — IANA timezone the whole schedule is read in (e.g. Asia/Kolkata), including which calendar day the send day is. Omit for UTC.
    - `weeklyDay` integer — Weekday weekly reports go out, 0 = Sunday to 6 = Saturday. Omit for Monday (1).
    - `monthlyDay` integer — Day of the month monthly reports go out, 1-31. A day past the end of a shorter month sends on its last day. Omit for the 1st.
  - `defaultReportTemplateSlug` string, nullable — Template slug client reports fall back to. Null resets to the built-in default template.
  - `reportLinkPassword` object, nullable — Password gate on client report links. Null disables it.
    - `mode` 'auto' | 'fixed' — "auto" mints a code per link and prints it in the email; "fixed" uses your own password, which is never emailed.
    - `password` string — Only for mode "fixed". Omit to keep the stored password.
    - `hint` string — Reminder shown to the client at the prompt.

## Response `200`

Default Response

## Changes

- **2026-09-18** `e0163b1c37cb` — 1 breaking, 1 info
  - api path removed without deprecation
  - endpoint added
- **2026-09-03** `ad15b6b0845b` — 3 info
  - added the new optional request property `defaultReportTemplateSlug`
  - added the new optional request property `reportLinkPassword`
  - added the new optional request property `reportRecipients/items/reports`
- **2026-08-23** `5c54912ec4f7` — 3 info
  - added the new optional request property `monthlyAuditTeamIds`
  - added the new optional request property `reportRecipients/items/teamIds`
  - added the new optional request property `weeklyReportTeamIds`
- **2026-07-26** `60ff6690f93c` — 1 breaking, 1 info
  - added required request body
  - api tag `Settings` added

[Change history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/settings/notifications/patch.md)

---

[API](https://skmtc.dev/snowseo/apis/snowseo-api.md) · [All operations](https://skmtc.dev/snowseo/apis/snowseo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/snowseo/apis/snowseo-api/revisions/fa1bfff7ecc8?raw)
