> ## 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 SMTP

> Update the custom SMTP credentials.

Update the SMTP credentials. Only the fields you send change; the rest keep their stored values. Returns `{ "success": true, "data": { ... } }` with the same masked `data` shape as [`GET`](https://snowseo.com/docs/api-reference/endpoints/smtp).

| Field | Description |
| - | - |
| `teamId` | Brand (team) to update. |
| `enabled` | Turn custom SMTP on/off. |
| `host` | SMTP host, or `null`. |
| `port` | Integer between `1` and `65535`, or `null`. |
| `encryption` | `ssl`, `tls`, or `none`. |
| `user` | SMTP username, or `null`. |
| `password` | Plaintext password to store (encrypted at rest). Omit, send `null`, or send `""` to keep the existing password. |
| `fromName` | Display name, or `null`. |
| `fromEmail` | From address (must be a valid email), or `null`. |
| `replyTo` | Reply-to address (must be a valid email), or `null`. |

> [!WARNING]
>
> Sending `password` as `null` or an empty string does **not** clear the stored password - it keeps the existing one. Invalid `fromEmail`/`replyTo` values, an out-of-range `port`, or an unknown `encryption` are rejected with `400`.


## OpenAPI

````yaml PATCH /v3/settings/brand/smtp
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/brand/smtp:
    patch:
      tags:
        - Settings
      summary: Update custom SMTP settings
      description: >-
        Update the org's custom SMTP credentials for client-report delivery. All
        fields optional. Leave password empty to keep the stored one. Requires
        white-label access.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                teamId:
                  type: string
                enabled:
                  type: boolean
                host:
                  type: string
                  nullable: true
                port:
                  type: number
                  nullable: true
                encryption:
                  type: string
                  enum:
                    - ssl
                    - tls
                    - none
                user:
                  type: string
                  nullable: true
                password:
                  type: string
                  nullable: true
                fromName:
                  type: string
                  nullable: true
                fromEmail:
                  type: string
                  nullable: true
                replyTo:
                  type: string
                  nullable: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                properties:
                  success:
                    type: boolean
                  data:
                    type: object
                    additionalProperties: true
                    properties:
                      enabled:
                        type: boolean
                      host:
                        type: string
                        nullable: true
                      port:
                        type: number
                        nullable: true
                      encryption:
                        type: string
                      user:
                        type: string
                        nullable: true
                      fromName:
                        type: string
                        nullable: true
                      fromEmail:
                        type: string
                        nullable: true
                      replyTo:
                        type: string
                        nullable: true
                      hasPassword:
                        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.