> ## Documentation Index
> Fetch the complete documentation index at: https://snowseo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Notification Settings

> Update the organization's notification and report settings.

Update any subset of the fields returned by [Get Notification Settings](https://snowseo.com/docs/api-reference/endpoints/notification-settings.md). Only the keys you send are changed; the merged, canonical settings are returned.

> [!NOTE]
>
> Writing requires **managed** (admin/owner) access to the brand. The change applies to every brand in the organization.

> [!WARNING]
>
> `reportRecipients` **replaces the whole list**, so send every recipient you want to keep. It is sanitized on write: emails are trimmed, lowercased, and deduplicated; entries with an invalid email or with **both** `weekly` and `monthly` off are dropped; `teamIds` is narrowed to brands in your organization (a recipient without `teamId`s receives nothing); and the list is capped at **10** recipients. `whiteLabelAvailable` is read-only and ignored if sent.

Other write-only details:

* `weeklyReportTeamIds` / `monthlyAuditTeamIds`: send `null` (or every brand) for all brands.
* `defaultReportTemplateSlug`: an unknown slug resets it to `null`.
* `reportLinkPassword`: `{ "mode": "auto" | "fixed", "password"?, "hint"? }`, or `null` to disable. `password` applies only to `fixed`; omit it to keep the stored one.


## OpenAPI

````yaml PATCH /v3/settings/notifications
openapi: 3.0.0
info:
  title: SnowSEO API
  description: API documentation for SnowSEO
  version: 1.0.0
servers:
  - url: https://api.snowseo.com
    description: Production server
security:
  - bearerAuth: []
  - apiKey: []
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/settings/notifications:
    patch:
      tags:
        - Settings
      summary: Update notification settings
      description: >-
        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.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                teamId:
                  type: string
                weeklyReports:
                  type: boolean
                monthlyAudits:
                  type: boolean
                newOpportunities:
                  type: boolean
                resourceUsageWarning:
                  type: boolean
                clientReportsEnabled:
                  type: boolean
                weeklyReportTeamIds:
                  type: array
                  nullable: true
                  items:
                    type: string
                  description: >-
                    Brands the weekly report covers. Null or omitted means all
                    brands.
                monthlyAuditTeamIds:
                  type: array
                  nullable: true
                  items:
                    type: string
                  description: >-
                    Brands the monthly audit covers. Null or omitted means all
                    brands.
                reportRecipients:
                  type: array
                  items:
                    type: object
                    additionalProperties: true
                    required:
                      - email
                    properties:
                      email:
                        type: string
                      weekly:
                        type: boolean
                      monthly:
                        type: boolean
                      whiteLabel:
                        type: boolean
                      teamIds:
                        type: array
                        items:
                          type: string
                        description: >-
                          Brands this recipient receives reports for. Empty
                          delivers nothing.
                      reports:
                        type: object
                        additionalProperties: true
                        description: >-
                          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:
                        type: string
                        description: >-
                          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:
                        type: string
                        description: >-
                          IANA timezone the whole schedule is read in (e.g.
                          Asia/Kolkata), including which calendar day the send
                          day is. Omit for UTC.
                      weeklyDay:
                        type: integer
                        minimum: 0
                        maximum: 6
                        description: >-
                          Weekday weekly reports go out, 0 = Sunday to 6 =
                          Saturday. Omit for Monday (1).
                      monthlyDay:
                        type: integer
                        minimum: 1
                        maximum: 31
                        description: >-
                          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:
                  type: string
                  nullable: true
                  description: >-
                    Template slug client reports fall back to. Null resets to
                    the built-in default template.
                reportLinkPassword:
                  type: object
                  nullable: true
                  additionalProperties: true
                  description: Password gate on client report links. Null disables it.
                  properties:
                    mode:
                      type: string
                      enum:
                        - auto
                        - fixed
                      description: >-
                        "auto" mints a code per link and prints it in the email;
                        "fixed" uses your own password, which is never emailed.
                    password:
                      type: string
                      description: Only for mode "fixed". Omit to keep the stored password.
                    hint:
                      type: string
                      description: Reminder shown to the client at the prompt.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                properties:
                  weeklyReports:
                    type: boolean
                  monthlyAudits:
                    type: boolean
                  weeklyReportTeamIds:
                    type: array
                    nullable: true
                    items:
                      type: string
                  monthlyAuditTeamIds:
                    type: array
                    nullable: true
                    items:
                      type: string
                  newOpportunities:
                    type: boolean
                  resourceUsageWarning:
                    type: boolean
                  clientReportsEnabled:
                    type: boolean
                  reportRecipients:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                  defaultReportTemplateSlug:
                    type: string
                    nullable: true
                  reportLinkPassword:
                    type: object
                    additionalProperties: true
                    nullable: true
                  whiteLabelAvailable:
                    type: boolean
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your SnowSEO API key (sk_...).
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.